routup 5.2.0 → 6.0.0-beta.1

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
@@ -12,8 +12,8 @@
12
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
- **Routup** is a minimalistic, runtime-agnostic HTTP routing framework for Node.js, Bun, Deno, and Cloudflare Workers.
16
- Handlers return values directly — routup converts them to Web `Response` objects automatically.
15
+ **Routup** is a minimalistic, runtime-agnostic HTTP routing framework for Node.js, Bun, Deno, Cloudflare Workers, and Service Workers.
16
+ Handlers return values directly — routup converts them to Web `Response` objects automatically, with built-in support for ETags, content negotiation, per-handler timeouts, and cooperative cancellation via `AbortSignal`.
17
17
 
18
18
  **Table of Contents**
19
19
 
@@ -35,14 +35,21 @@ npm install routup --save
35
35
 
36
36
  ## Features
37
37
 
38
- - 🚀 **Runtime agnostic** — Node.js, Bun, Deno, Cloudflare Workers
38
+ - 🚀 **Runtime agnostic** — Node.js, Bun, Deno, Cloudflare Workers, Service Workers
39
39
  - 🌐 **Web-standard APIs** — built on `Request` / `Response` for portability
40
- - 📝 **Return-based handlers** — return strings, objects, streams, or `Response` directly
40
+ - 📝 **Return-based handlers** — return strings, objects, streams, `Blob`s, or `Response` directly
41
41
  - ✨ **Async middleware** — onion model with `event.next()`
42
42
  - 📌 **Lifecycle hooks** — `request`, `response`, `error` for cross-cutting concerns
43
+ - 🧭 **Pluggable router & cache** — `LinearRouter` (default), `TrieRouter`, or `SmartRouter` (auto-selects); opt-in LRU lookup cache
44
+ - ⏱️ **Per-handler timeouts** — bounded execution with `AbortSignal` cooperative cancellation
45
+ - 🏷️ **Automatic ETag & 304** — strong/weak ETags out of the box, configurable per app or disabled entirely
46
+ - 🤝 **Content negotiation** — accept, accept-language, accept-encoding, accept-charset helpers
47
+ - 📡 **Streaming & SSE** — `ReadableStream` responses and `createEventStream()` for server-sent events
48
+ - 📂 **Static file serving** — `sendFile()` with ETag, range, and MIME detection
43
49
  - 🔌 **Plugin system** — extend with reusable, installable plugins
50
+ - 🌉 **Express middleware bridge** — wrap legacy `(req, res, next)` handlers via `fromNodeHandler()`
44
51
  - 🧰 **Tree-shakeable helpers** — import only what you use
45
- - 📁 **Nestable routers** — modular route composition
52
+ - 📁 **Nestable apps** — modular route composition with mount paths
46
53
  - 👕 **TypeScript first** — fully typed API with generics
47
54
  - 🤏 **Minimal footprint** — small core, no bloat
48
55
 
@@ -59,37 +66,37 @@ Handlers receive an event and return a value. Routup converts the return value t
59
66
  **Shorthand**
60
67
 
61
68
  ```typescript
62
- import { Router, defineCoreHandler, defineErrorHandler, serve } from 'routup';
69
+ import { App, defineCoreHandler, defineErrorHandler, serve } from 'routup';
63
70
 
64
- const router = new Router();
71
+ const app = new App();
65
72
 
66
- router.get('/', defineCoreHandler(() => 'Hello, World!'));
67
- router.get('/greet/:name', defineCoreHandler((event) => `Hello, ${event.params.name}!`));
68
- router.use(defineErrorHandler((error) => ({ error: error.message })));
73
+ app.get('/', defineCoreHandler(() => 'Hello, World!'));
74
+ app.get('/greet/:name', defineCoreHandler((event) => `Hello, ${event.params.name}!`));
75
+ app.use(defineErrorHandler((error) => ({ error: error.message })));
69
76
 
70
- serve(router, { port: 3000 });
77
+ serve(app, { port: 3000 });
71
78
  ```
72
79
 
73
80
  **Verbose**
74
81
 
75
82
  ```typescript
76
- import { Router, defineCoreHandler, serve } from 'routup';
83
+ import { App, defineCoreHandler, serve } from 'routup';
77
84
 
78
- const router = new Router();
85
+ const app = new App();
79
86
 
80
- router.use(defineCoreHandler({
87
+ app.use(defineCoreHandler({
81
88
  path: '/',
82
89
  method: 'GET',
83
90
  fn: () => 'Hello, World!',
84
91
  }));
85
92
 
86
- router.use(defineCoreHandler({
93
+ app.use(defineCoreHandler({
87
94
  path: '/greet/:name',
88
95
  method: 'GET',
89
96
  fn: (event) => `Hello, ${event.params.name}!`,
90
97
  }));
91
98
 
92
- serve(router, { port: 3000 });
99
+ serve(app, { port: 3000 });
93
100
  ```
94
101
 
95
102
  ### Return Values
@@ -108,22 +115,50 @@ serve(router, { port: 3000 });
108
115
  Middleware calls `event.next()` to continue the pipeline:
109
116
 
110
117
  ```typescript
111
- router.use(defineCoreHandler(async (event) => {
118
+ app.use(defineCoreHandler(async (event) => {
112
119
  console.log(`${event.method} ${event.path}`);
113
120
  return event.next();
114
121
  }));
115
122
  ```
116
123
 
124
+ ### Pluggable router and cache
125
+
126
+ The route table is pluggable via the `router` option. The default `LinearRouter` is best for small apps; swap to `TrieRouter` for radix-trie matching on apps with many routes, or `SmartRouter` to auto-select between the two based on the registered route shape at first lookup. Each router accepts an optional `cache` for memoizing lookups — opt-in via `LruCache` (or any `ICache` implementation); pass `null` to disable.
127
+
128
+ ```typescript
129
+ import { App, TrieRouter, LruCache, defineCoreHandler } from 'routup';
130
+
131
+ const app = new App({
132
+ router: new TrieRouter({ cache: new LruCache() }), // omit `cache` for no memoization
133
+ });
134
+ ```
135
+
136
+ ### Timeouts and cancellation
137
+
138
+ Configure a global timeout for the whole pipeline, a default per-handler timeout, or both. When a deadline fires, `event.signal` is aborted so handlers can cooperatively cancel signal-aware work; if nothing recovers in time, routup returns `408 Request Timeout`.
139
+
140
+ ```typescript
141
+ const app = new App({
142
+ timeout: 30_000, // entire request
143
+ handlerTimeout: 5_000, // default per handler; handlers can narrow further
144
+ });
145
+
146
+ app.get('/fetch', defineCoreHandler(async (event) => {
147
+ const res = await fetch('https://api.example.com', { signal: event.signal });
148
+ return res.json();
149
+ }));
150
+ ```
151
+
117
152
  ### Runtimes
118
153
 
119
154
  Routup runs on Node.js, Bun, Deno, and Cloudflare Workers. In most cases, import from `routup`:
120
155
 
121
156
  ```typescript
122
- import { Router, defineCoreHandler, serve } from 'routup';
157
+ import { App, defineCoreHandler, serve } from 'routup';
123
158
 
124
- const router = new Router();
125
- router.get('/', defineCoreHandler(() => 'Hello, World!'));
126
- serve(router, { port: 3000 });
159
+ const app = new App();
160
+ app.get('/', defineCoreHandler(() => 'Hello, World!'));
161
+ serve(app, { port: 3000 });
127
162
  ```
128
163
 
129
164
  For runtime-specific APIs (e.g. `toNodeHandler`), use the corresponding entrypoint like `routup/node`.
@@ -166,34 +201,20 @@ Routup is minimalistic by design. [Plugins](https://github.com/routup/plugins) e
166
201
 
167
202
  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
203
 
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 |
204
+ | | routup | [Hono](https://hono.dev) | [Express](https://expressjs.com) | [Fastify](https://fastify.dev) |
205
+ |-----------------------------------------|-------------------|--------------------------|----------------------------------|--------------------------------|
206
+ | **Runtimes** | Node, Bun, Deno, Cloudflare, Service Worker | Node, Bun, Deno, Cloudflare, Lambda, Vercel | Node | Node |
172
207
  | **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 |
208
+ | **Return-based handlers** | ✅ | ✅ | ❌ | ❌ |
209
+ | **TypeScript-first** | ✅ | ✅ | community types | ✅ |
210
+ | **Tree-shakeable helpers** | ✅ | ✅ | ❌ | ❌ |
211
+ | **Onion middleware (`next()`)** | ✅ | ✅ | linear `next()` | lifecycle hooks |
212
+ | **Pluggable router (linear / trie)** | ✅ linear, trie, or auto-select | trie only | linear only | radix only |
213
+ | **Built-in ETag + 304** | ✅ | ❌ | via plugin | via plugin |
179
214
  | **Per-handler timeout + `AbortSignal`** | ✅ | ❌ | ❌ | server-level |
180
- | **Schema validation built-in** | | ❌ | ❌ | |
181
-
182
- ## Benchmarks
183
-
184
- Recorded with routup v5.1 on Node.js 24, May 2026. `autocannon -c 100 -d 40 -p 10` (40s warm-up, 40s measure).
185
-
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 |
195
-
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.
215
+ | **Class-based routes (decorators)** | via plugin | ❌ | ❌ | |
216
+ | **Express middleware bridge** | ✅ `fromNodeHandler` | ❌ | n/a | limited |
217
+ | **Schema validation built-in** | ❌ | ❌ | ❌ | ✅ |
197
218
 
198
219
  ## Contributing
199
220
 
package/dist/bun.d.mts CHANGED
@@ -1,8 +1,8 @@
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";
1
+ import { $ as AppOptions, $t as HandlerSymbol, A as sendFormat, At as fromNodeMiddleware, B as setResponseHeaderAttachment, Bt as ErrorHandlerOptions, C as getRequestAcceptableContentTypes, Ct as isHandlerOptions, D as setResponseContentTypeByFileName, Dt as WebHandler, E as toResponse, Et as fromWebHandler, F as SendFileStats, Ft as CoreHandlerOptions, G as EventStreamHandle, Gt as isPath, H as appendResponseHeader, Ht as HandlerBaseOptions, I as sendFile, It as Handler, J as EventStreamListener, Jt as Path, K as EventStreamOptions, Kt as PathMatcher, L as sendCreated, Lt as HandlerOptions, M as SendFileContentOptions, Mt as NodeMiddleware, N as SendFileDisposition, Nt as defineCoreHandler, O as sendStream, Ot as WebHandlerProvider, P as SendFileOptions, Pt as CoreHandler, Q as AppContext, Qt as createError, R as sendAccepted, Rt as defineErrorHandler, S as getRequestAcceptableContentType, St as isHandler, T as isRequestCacheable, Tt as isWebHandlerProvider, U as appendResponseHeaderDirective, Ut as HandlerBeforeListener, V as setResponseHeaderInline, Vt as HandlerAfterListener, W as serializeEventStreamMessage, Wt as HandlerErrorListener, X as ResponseCacheHeadersOptions, Xt as PathMatcherOptions, Y as EventStreamMessage, Yt as PathMatcherExecResult, Z as setResponseCacheHeaders, Zt as isError, _ as getRequestAcceptableLanguages, _t as PluginAlreadyInstalledError, a as SmartRouter, an as AppEventCreateContext, at as ObjectLiteral, b as getRequestAcceptableCharset, bt as PluginErrorCode, c as RequestProtocolOptions, cn as IAppEvent, ct as LruCache, d as RequestIpOptions, dn as MethodName, dt as isPlugin, en as HandlerType, et as AppOptionsInput, f as getRequestIP, fn as MethodNameLike, ft as Plugin, g as getRequestAcceptableLanguage, gt as PluginInstallError, h as matchRequestContentType, hn as HTTPErrorInput, ht as PluginNotInstalledError, i as TrieRouter, in as AppEvent, it as IRouter, j as SendFileContent, jt as NodeHandler, k as sendRedirect, kt as fromNodeHandler, l as getRequestProtocol, ln as NextFn, lt as LruCacheOptions, m as getRequestHostName, mn as ErrorSymbol, mt as PluginInstallFn, n as App, nn as IDispatcher, nt as IApp, o as SmartRouterOptions, on as AppRequest, ot as Route, p as RequestHostNameOptions, pn as AppError, pt as PluginInstallContext, q as createEventStream, qt as IPathMatcher, r as buildRoutePathMatcher, rn as IDispatcherEvent, rt as BaseRouterOptions, s as LinearRouter, sn as AppResponse, st as RouteMatch, t as normalizeAppOptions, tn as DispatcherEvent, tt as AppPipelineContext, u as useRequestNegotiator, un as HeaderName, ut as ICache, v as getRequestAcceptableEncoding, vt as isPluginError, w as getRequestHeader, wt as isWebHandler, x as getRequestAcceptableCharsets, xt as matchHandlerMethod, y as getRequestAcceptableEncodings, yt as PluginError, z as setResponseHeaderContentType, zt as ErrorHandler } from "./index-B80OpXdo.mjs";
2
2
  import { Server, ServerOptions } from "srvx";
3
3
 
4
4
  //#region src/_entries/bun.d.ts
5
- declare function serve(router: Router, options?: Omit<ServerOptions, 'fetch'>): Server;
5
+ declare function serve(app: IApp, options?: Omit<ServerOptions, 'fetch'>): Server;
6
6
  //#endregion
7
- export { CoreHandler, CoreHandlerOptions, DispatcherEvent, ErrorHandler, ErrorHandlerOptions, ErrorSymbol, EventStreamHandle, EventStreamListener, EventStreamMessage, EventStreamOptions, HTTPErrorInput, Handler, HandlerBaseOptions, HandlerOptions, HandlerSymbol, HandlerType, HeaderName, IDispatcher, IDispatcherEvent, IRouter, IRoutupEvent, MethodName, NextFn, NodeHandler, NodeMiddleware, Path, PathMatcher, PathMatcherExecResult, PathMatcherOptions, Plugin, PluginAlreadyInstalledError, PluginError, PluginErrorCode, PluginInstallContext, PluginInstallError, PluginInstallFn, PluginNotInstalledError, RequestHostNameOptions, RequestIpOptions, RequestProtocolOptions, ResponseCacheHeadersOptions, Router, RouterOptions, RouterOptionsInput, RouterPathNode, RouterPipelineContext, RoutupError, RoutupEvent, RoutupEventCreateContext, RoutupRequest, RoutupResponse, SendFileContent, SendFileContentOptions, SendFileDisposition, SendFileOptions, SendFileStats, StackEntry, StackHandlerEntry, StackRouterEntry, WebHandler, WebHandlerProvider, appendResponseHeader, appendResponseHeaderDirective, buildHandlerPathMatcher, createError, createEventStream, defineCoreHandler, defineErrorHandler, fromNodeHandler, fromNodeMiddleware, fromWebHandler, getRequestAcceptableCharset, getRequestAcceptableCharsets, getRequestAcceptableContentType, getRequestAcceptableContentTypes, getRequestAcceptableEncoding, getRequestAcceptableEncodings, getRequestAcceptableLanguage, getRequestAcceptableLanguages, getRequestHeader, getRequestHostName, getRequestIP, getRequestProtocol, isError, isHandler, isHandlerOptions, isPath, isPlugin, isPluginError, isRequestCacheable, isWebHandler, isWebHandlerProvider, matchHandlerMethod, matchRequestContentType, normalizeRouterOptions, sendAccepted, sendCreated, sendFile, sendFormat, sendRedirect, sendStream, serializeEventStreamMessage, serve, setResponseCacheHeaders, setResponseContentTypeByFileName, setResponseHeaderAttachment, setResponseHeaderContentType, setResponseHeaderInline, toResponse, useRequestNegotiator };
7
+ export { App, AppContext, AppError, AppEvent, AppEventCreateContext, AppOptions, AppOptionsInput, AppPipelineContext, AppRequest, AppResponse, BaseRouterOptions, CoreHandler, CoreHandlerOptions, DispatcherEvent, ErrorHandler, ErrorHandlerOptions, ErrorSymbol, EventStreamHandle, EventStreamListener, EventStreamMessage, EventStreamOptions, HTTPErrorInput, Handler, HandlerAfterListener, HandlerBaseOptions, HandlerBeforeListener, HandlerErrorListener, HandlerOptions, HandlerSymbol, HandlerType, HeaderName, IApp, IAppEvent, ICache, IDispatcher, IDispatcherEvent, IPathMatcher, IRouter, LinearRouter, LruCache, LruCacheOptions, MethodName, MethodNameLike, NextFn, NodeHandler, NodeMiddleware, ObjectLiteral, Path, PathMatcher, PathMatcherExecResult, PathMatcherOptions, Plugin, PluginAlreadyInstalledError, PluginError, PluginErrorCode, PluginInstallContext, PluginInstallError, PluginInstallFn, PluginNotInstalledError, RequestHostNameOptions, RequestIpOptions, RequestProtocolOptions, ResponseCacheHeadersOptions, Route, RouteMatch, SendFileContent, SendFileContentOptions, SendFileDisposition, SendFileOptions, SendFileStats, SmartRouter, SmartRouterOptions, TrieRouter, WebHandler, WebHandlerProvider, appendResponseHeader, appendResponseHeaderDirective, buildRoutePathMatcher, createError, createEventStream, defineCoreHandler, defineErrorHandler, fromNodeHandler, fromNodeMiddleware, fromWebHandler, getRequestAcceptableCharset, getRequestAcceptableCharsets, getRequestAcceptableContentType, getRequestAcceptableContentTypes, getRequestAcceptableEncoding, getRequestAcceptableEncodings, getRequestAcceptableLanguage, getRequestAcceptableLanguages, getRequestHeader, getRequestHostName, getRequestIP, getRequestProtocol, isError, isHandler, isHandlerOptions, isPath, isPlugin, isPluginError, isRequestCacheable, isWebHandler, isWebHandlerProvider, matchHandlerMethod, matchRequestContentType, normalizeAppOptions, sendAccepted, sendCreated, sendFile, sendFormat, sendRedirect, sendStream, serializeEventStreamMessage, serve, setResponseCacheHeaders, setResponseContentTypeByFileName, setResponseHeaderAttachment, setResponseHeaderContentType, setResponseHeaderInline, toResponse, useRequestNegotiator };
8
8
  //# sourceMappingURL=bun.d.mts.map
package/dist/bun.mjs CHANGED
@@ -1,13 +1,13 @@
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";
1
+ import { $ as isError, A as fromWebHandler, B as DispatcherEvent, C as getRequestAcceptableEncodings, D as matchHandlerMethod, E as isRequestCacheable, F as defineErrorHandler, G as getRequestAcceptableContentTypes, H as sendRedirect, I as defineCoreHandler, J as sendFile, K as useRequestNegotiator, L as Handler, M as isWebHandlerProvider, N as fromNodeHandler, O as isHandler, P as fromNodeMiddleware, Q as createError, R as HandlerSymbol, S as getRequestAcceptableEncoding, T as getRequestAcceptableCharsets, U as sendFormat, V as sendStream, W as getRequestAcceptableContentType, X as sendAccepted, Y as sendCreated, Z as toResponse, _ as getRequestIP, a as LinearRouter, at as appendResponseHeaderDirective, b as getRequestAcceptableLanguage, c as PluginNotInstalledError, ct as AppError, d as PluginError, dt as AppEvent, et as setResponseHeaderContentType, f as isPluginError, ft as HeaderName, g as getRequestProtocol, h as PathMatcher, i as TrieRouter, it as appendResponseHeader, j as isWebHandler, k as isHandlerOptions, l as PluginInstallError, lt as ErrorSymbol, m as isPath, mt as LruCache, n as normalizeAppOptions, nt as setResponseHeaderInline, o as buildRoutePathMatcher, ot as createEventStream, p as PluginErrorCode, pt as MethodName, q as getRequestHeader, r as SmartRouter, rt as setResponseContentTypeByFileName, s as isPlugin, st as serializeEventStreamMessage, t as App, tt as setResponseHeaderAttachment, u as PluginAlreadyInstalledError, ut as setResponseCacheHeaders, v as getRequestHostName, w as getRequestAcceptableCharset, x as getRequestAcceptableLanguages, y as matchRequestContentType, z as HandlerType } from "./src-DaK6SZc0.mjs";
2
2
  import { serve as serve$1 } from "srvx/bun";
3
3
  //#region src/_entries/bun.ts
4
- function serve(router, options) {
4
+ function serve(app, options) {
5
5
  return serve$1({
6
- fetch: router.fetch.bind(router),
6
+ fetch: app.fetch.bind(app),
7
7
  ...options
8
8
  });
9
9
  }
10
10
  //#endregion
11
- export { DispatcherEvent, ErrorSymbol, Handler, HandlerSymbol, HandlerType, HeaderName, MethodName, PathMatcher, PluginAlreadyInstalledError, PluginError, PluginErrorCode, PluginInstallError, PluginNotInstalledError, Router, RoutupError, RoutupEvent, appendResponseHeader, appendResponseHeaderDirective, buildHandlerPathMatcher, createError, createEventStream, defineCoreHandler, defineErrorHandler, fromNodeHandler, fromNodeMiddleware, fromWebHandler, getRequestAcceptableCharset, getRequestAcceptableCharsets, getRequestAcceptableContentType, getRequestAcceptableContentTypes, getRequestAcceptableEncoding, getRequestAcceptableEncodings, getRequestAcceptableLanguage, getRequestAcceptableLanguages, getRequestHeader, getRequestHostName, getRequestIP, getRequestProtocol, isError, isHandler, isHandlerOptions, isPath, isPlugin, isPluginError, isRequestCacheable, isWebHandler, isWebHandlerProvider, matchHandlerMethod, matchRequestContentType, normalizeRouterOptions, sendAccepted, sendCreated, sendFile, sendFormat, sendRedirect, sendStream, serializeEventStreamMessage, serve, setResponseCacheHeaders, setResponseContentTypeByFileName, setResponseHeaderAttachment, setResponseHeaderContentType, setResponseHeaderInline, toResponse, useRequestNegotiator };
11
+ export { App, AppError, AppEvent, DispatcherEvent, ErrorSymbol, Handler, HandlerSymbol, HandlerType, HeaderName, LinearRouter, LruCache, MethodName, PathMatcher, PluginAlreadyInstalledError, PluginError, PluginErrorCode, PluginInstallError, PluginNotInstalledError, SmartRouter, TrieRouter, appendResponseHeader, appendResponseHeaderDirective, buildRoutePathMatcher, createError, createEventStream, defineCoreHandler, defineErrorHandler, fromNodeHandler, fromNodeMiddleware, fromWebHandler, getRequestAcceptableCharset, getRequestAcceptableCharsets, getRequestAcceptableContentType, getRequestAcceptableContentTypes, getRequestAcceptableEncoding, getRequestAcceptableEncodings, getRequestAcceptableLanguage, getRequestAcceptableLanguages, getRequestHeader, getRequestHostName, getRequestIP, getRequestProtocol, isError, isHandler, isHandlerOptions, isPath, isPlugin, isPluginError, isRequestCacheable, isWebHandler, isWebHandlerProvider, matchHandlerMethod, matchRequestContentType, normalizeAppOptions, sendAccepted, sendCreated, sendFile, sendFormat, sendRedirect, sendStream, serializeEventStreamMessage, serve, setResponseCacheHeaders, setResponseContentTypeByFileName, setResponseHeaderAttachment, setResponseHeaderContentType, setResponseHeaderInline, toResponse, useRequestNegotiator };
12
12
 
13
13
  //# sourceMappingURL=bun.mjs.map
package/dist/bun.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bun.mjs","names":["srvxServe"],"sources":["../src/_entries/bun.ts"],"sourcesContent":["import type { Server, ServerOptions } from 'srvx';\nimport { serve as srvxServe } from 'srvx/bun';\nimport type { Router } from '../router/module.ts';\n\nexport * from '../index.ts';\n\nexport function serve(router: Router, options?: Omit<ServerOptions, 'fetch'>): Server {\n return srvxServe({ fetch: router.fetch.bind(router), ...options });\n}\n"],"mappings":";;;AAMA,SAAgB,MAAM,QAAgB,SAAgD;CAClF,OAAOA,QAAU;EAAE,OAAO,OAAO,MAAM,KAAK,OAAO;EAAE,GAAG;EAAS,CAAC"}
1
+ {"version":3,"file":"bun.mjs","names":["srvxServe"],"sources":["../src/_entries/bun.ts"],"sourcesContent":["import type { Server, ServerOptions } from 'srvx';\nimport { serve as srvxServe } from 'srvx/bun';\nimport type { IApp } from '../app/types.ts';\n\nexport * from '../index.ts';\n\nexport function serve(app: IApp, options?: Omit<ServerOptions, 'fetch'>): Server {\n return srvxServe({ fetch: app.fetch.bind(app), ...options });\n}\n"],"mappings":";;;AAMA,SAAgB,MAAM,KAAW,SAAgD;CAC7E,OAAOA,QAAU;EAAE,OAAO,IAAI,MAAM,KAAK,IAAI;EAAE,GAAG;EAAS,CAAC"}
@@ -1,8 +1,8 @@
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";
1
+ import { $ as AppOptions, $t as HandlerSymbol, A as sendFormat, At as fromNodeMiddleware, B as setResponseHeaderAttachment, Bt as ErrorHandlerOptions, C as getRequestAcceptableContentTypes, Ct as isHandlerOptions, D as setResponseContentTypeByFileName, Dt as WebHandler, E as toResponse, Et as fromWebHandler, F as SendFileStats, Ft as CoreHandlerOptions, G as EventStreamHandle, Gt as isPath, H as appendResponseHeader, Ht as HandlerBaseOptions, I as sendFile, It as Handler, J as EventStreamListener, Jt as Path, K as EventStreamOptions, Kt as PathMatcher, L as sendCreated, Lt as HandlerOptions, M as SendFileContentOptions, Mt as NodeMiddleware, N as SendFileDisposition, Nt as defineCoreHandler, O as sendStream, Ot as WebHandlerProvider, P as SendFileOptions, Pt as CoreHandler, Q as AppContext, Qt as createError, R as sendAccepted, Rt as defineErrorHandler, S as getRequestAcceptableContentType, St as isHandler, T as isRequestCacheable, Tt as isWebHandlerProvider, U as appendResponseHeaderDirective, Ut as HandlerBeforeListener, V as setResponseHeaderInline, Vt as HandlerAfterListener, W as serializeEventStreamMessage, Wt as HandlerErrorListener, X as ResponseCacheHeadersOptions, Xt as PathMatcherOptions, Y as EventStreamMessage, Yt as PathMatcherExecResult, Z as setResponseCacheHeaders, Zt as isError, _ as getRequestAcceptableLanguages, _t as PluginAlreadyInstalledError, a as SmartRouter, an as AppEventCreateContext, at as ObjectLiteral, b as getRequestAcceptableCharset, bt as PluginErrorCode, c as RequestProtocolOptions, cn as IAppEvent, ct as LruCache, d as RequestIpOptions, dn as MethodName, dt as isPlugin, en as HandlerType, et as AppOptionsInput, f as getRequestIP, fn as MethodNameLike, ft as Plugin, g as getRequestAcceptableLanguage, gt as PluginInstallError, h as matchRequestContentType, hn as HTTPErrorInput, ht as PluginNotInstalledError, i as TrieRouter, in as AppEvent, it as IRouter, j as SendFileContent, jt as NodeHandler, k as sendRedirect, kt as fromNodeHandler, l as getRequestProtocol, ln as NextFn, lt as LruCacheOptions, m as getRequestHostName, mn as ErrorSymbol, mt as PluginInstallFn, n as App, nn as IDispatcher, nt as IApp, o as SmartRouterOptions, on as AppRequest, ot as Route, p as RequestHostNameOptions, pn as AppError, pt as PluginInstallContext, q as createEventStream, qt as IPathMatcher, r as buildRoutePathMatcher, rn as IDispatcherEvent, rt as BaseRouterOptions, s as LinearRouter, sn as AppResponse, st as RouteMatch, t as normalizeAppOptions, tn as DispatcherEvent, tt as AppPipelineContext, u as useRequestNegotiator, un as HeaderName, ut as ICache, v as getRequestAcceptableEncoding, vt as isPluginError, w as getRequestHeader, wt as isWebHandler, x as getRequestAcceptableCharsets, xt as matchHandlerMethod, y as getRequestAcceptableEncodings, yt as PluginError, z as setResponseHeaderContentType, zt as ErrorHandler } from "./index-B80OpXdo.mjs";
2
2
  import { Server, ServerOptions } from "srvx";
3
3
 
4
4
  //#region src/_entries/cloudflare.d.ts
5
- declare function serve(router: Router, options?: Omit<ServerOptions, 'fetch'>): Server;
5
+ declare function serve(app: IApp, options?: Omit<ServerOptions, 'fetch'>): Server;
6
6
  //#endregion
7
- export { CoreHandler, CoreHandlerOptions, DispatcherEvent, ErrorHandler, ErrorHandlerOptions, ErrorSymbol, EventStreamHandle, EventStreamListener, EventStreamMessage, EventStreamOptions, HTTPErrorInput, Handler, HandlerBaseOptions, HandlerOptions, HandlerSymbol, HandlerType, HeaderName, IDispatcher, IDispatcherEvent, IRouter, IRoutupEvent, MethodName, NextFn, NodeHandler, NodeMiddleware, Path, PathMatcher, PathMatcherExecResult, PathMatcherOptions, Plugin, PluginAlreadyInstalledError, PluginError, PluginErrorCode, PluginInstallContext, PluginInstallError, PluginInstallFn, PluginNotInstalledError, RequestHostNameOptions, RequestIpOptions, RequestProtocolOptions, ResponseCacheHeadersOptions, Router, RouterOptions, RouterOptionsInput, RouterPathNode, RouterPipelineContext, RoutupError, RoutupEvent, RoutupEventCreateContext, RoutupRequest, RoutupResponse, SendFileContent, SendFileContentOptions, SendFileDisposition, SendFileOptions, SendFileStats, StackEntry, StackHandlerEntry, StackRouterEntry, WebHandler, WebHandlerProvider, appendResponseHeader, appendResponseHeaderDirective, buildHandlerPathMatcher, createError, createEventStream, defineCoreHandler, defineErrorHandler, fromNodeHandler, fromNodeMiddleware, fromWebHandler, getRequestAcceptableCharset, getRequestAcceptableCharsets, getRequestAcceptableContentType, getRequestAcceptableContentTypes, getRequestAcceptableEncoding, getRequestAcceptableEncodings, getRequestAcceptableLanguage, getRequestAcceptableLanguages, getRequestHeader, getRequestHostName, getRequestIP, getRequestProtocol, isError, isHandler, isHandlerOptions, isPath, isPlugin, isPluginError, isRequestCacheable, isWebHandler, isWebHandlerProvider, matchHandlerMethod, matchRequestContentType, normalizeRouterOptions, sendAccepted, sendCreated, sendFile, sendFormat, sendRedirect, sendStream, serializeEventStreamMessage, serve, setResponseCacheHeaders, setResponseContentTypeByFileName, setResponseHeaderAttachment, setResponseHeaderContentType, setResponseHeaderInline, toResponse, useRequestNegotiator };
7
+ export { App, AppContext, AppError, AppEvent, AppEventCreateContext, AppOptions, AppOptionsInput, AppPipelineContext, AppRequest, AppResponse, BaseRouterOptions, CoreHandler, CoreHandlerOptions, DispatcherEvent, ErrorHandler, ErrorHandlerOptions, ErrorSymbol, EventStreamHandle, EventStreamListener, EventStreamMessage, EventStreamOptions, HTTPErrorInput, Handler, HandlerAfterListener, HandlerBaseOptions, HandlerBeforeListener, HandlerErrorListener, HandlerOptions, HandlerSymbol, HandlerType, HeaderName, IApp, IAppEvent, ICache, IDispatcher, IDispatcherEvent, IPathMatcher, IRouter, LinearRouter, LruCache, LruCacheOptions, MethodName, MethodNameLike, NextFn, NodeHandler, NodeMiddleware, ObjectLiteral, Path, PathMatcher, PathMatcherExecResult, PathMatcherOptions, Plugin, PluginAlreadyInstalledError, PluginError, PluginErrorCode, PluginInstallContext, PluginInstallError, PluginInstallFn, PluginNotInstalledError, RequestHostNameOptions, RequestIpOptions, RequestProtocolOptions, ResponseCacheHeadersOptions, Route, RouteMatch, SendFileContent, SendFileContentOptions, SendFileDisposition, SendFileOptions, SendFileStats, SmartRouter, SmartRouterOptions, TrieRouter, WebHandler, WebHandlerProvider, appendResponseHeader, appendResponseHeaderDirective, buildRoutePathMatcher, createError, createEventStream, defineCoreHandler, defineErrorHandler, fromNodeHandler, fromNodeMiddleware, fromWebHandler, getRequestAcceptableCharset, getRequestAcceptableCharsets, getRequestAcceptableContentType, getRequestAcceptableContentTypes, getRequestAcceptableEncoding, getRequestAcceptableEncodings, getRequestAcceptableLanguage, getRequestAcceptableLanguages, getRequestHeader, getRequestHostName, getRequestIP, getRequestProtocol, isError, isHandler, isHandlerOptions, isPath, isPlugin, isPluginError, isRequestCacheable, isWebHandler, isWebHandlerProvider, matchHandlerMethod, matchRequestContentType, normalizeAppOptions, sendAccepted, sendCreated, sendFile, sendFormat, sendRedirect, sendStream, serializeEventStreamMessage, serve, setResponseCacheHeaders, setResponseContentTypeByFileName, setResponseHeaderAttachment, setResponseHeaderContentType, setResponseHeaderInline, toResponse, useRequestNegotiator };
8
8
  //# sourceMappingURL=cloudflare.d.mts.map
@@ -1,13 +1,13 @@
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";
1
+ import { $ as isError, A as fromWebHandler, B as DispatcherEvent, C as getRequestAcceptableEncodings, D as matchHandlerMethod, E as isRequestCacheable, F as defineErrorHandler, G as getRequestAcceptableContentTypes, H as sendRedirect, I as defineCoreHandler, J as sendFile, K as useRequestNegotiator, L as Handler, M as isWebHandlerProvider, N as fromNodeHandler, O as isHandler, P as fromNodeMiddleware, Q as createError, R as HandlerSymbol, S as getRequestAcceptableEncoding, T as getRequestAcceptableCharsets, U as sendFormat, V as sendStream, W as getRequestAcceptableContentType, X as sendAccepted, Y as sendCreated, Z as toResponse, _ as getRequestIP, a as LinearRouter, at as appendResponseHeaderDirective, b as getRequestAcceptableLanguage, c as PluginNotInstalledError, ct as AppError, d as PluginError, dt as AppEvent, et as setResponseHeaderContentType, f as isPluginError, ft as HeaderName, g as getRequestProtocol, h as PathMatcher, i as TrieRouter, it as appendResponseHeader, j as isWebHandler, k as isHandlerOptions, l as PluginInstallError, lt as ErrorSymbol, m as isPath, mt as LruCache, n as normalizeAppOptions, nt as setResponseHeaderInline, o as buildRoutePathMatcher, ot as createEventStream, p as PluginErrorCode, pt as MethodName, q as getRequestHeader, r as SmartRouter, rt as setResponseContentTypeByFileName, s as isPlugin, st as serializeEventStreamMessage, t as App, tt as setResponseHeaderAttachment, u as PluginAlreadyInstalledError, ut as setResponseCacheHeaders, v as getRequestHostName, w as getRequestAcceptableCharset, x as getRequestAcceptableLanguages, y as matchRequestContentType, z as HandlerType } from "./src-DaK6SZc0.mjs";
2
2
  import { serve as serve$1 } from "srvx/cloudflare";
3
3
  //#region src/_entries/cloudflare.ts
4
- function serve(router, options) {
4
+ function serve(app, options) {
5
5
  return serve$1({
6
- fetch: router.fetch.bind(router),
6
+ fetch: app.fetch.bind(app),
7
7
  ...options
8
8
  });
9
9
  }
10
10
  //#endregion
11
- export { DispatcherEvent, ErrorSymbol, Handler, HandlerSymbol, HandlerType, HeaderName, MethodName, PathMatcher, PluginAlreadyInstalledError, PluginError, PluginErrorCode, PluginInstallError, PluginNotInstalledError, Router, RoutupError, RoutupEvent, appendResponseHeader, appendResponseHeaderDirective, buildHandlerPathMatcher, createError, createEventStream, defineCoreHandler, defineErrorHandler, fromNodeHandler, fromNodeMiddleware, fromWebHandler, getRequestAcceptableCharset, getRequestAcceptableCharsets, getRequestAcceptableContentType, getRequestAcceptableContentTypes, getRequestAcceptableEncoding, getRequestAcceptableEncodings, getRequestAcceptableLanguage, getRequestAcceptableLanguages, getRequestHeader, getRequestHostName, getRequestIP, getRequestProtocol, isError, isHandler, isHandlerOptions, isPath, isPlugin, isPluginError, isRequestCacheable, isWebHandler, isWebHandlerProvider, matchHandlerMethod, matchRequestContentType, normalizeRouterOptions, sendAccepted, sendCreated, sendFile, sendFormat, sendRedirect, sendStream, serializeEventStreamMessage, serve, setResponseCacheHeaders, setResponseContentTypeByFileName, setResponseHeaderAttachment, setResponseHeaderContentType, setResponseHeaderInline, toResponse, useRequestNegotiator };
11
+ export { App, AppError, AppEvent, DispatcherEvent, ErrorSymbol, Handler, HandlerSymbol, HandlerType, HeaderName, LinearRouter, LruCache, MethodName, PathMatcher, PluginAlreadyInstalledError, PluginError, PluginErrorCode, PluginInstallError, PluginNotInstalledError, SmartRouter, TrieRouter, appendResponseHeader, appendResponseHeaderDirective, buildRoutePathMatcher, createError, createEventStream, defineCoreHandler, defineErrorHandler, fromNodeHandler, fromNodeMiddleware, fromWebHandler, getRequestAcceptableCharset, getRequestAcceptableCharsets, getRequestAcceptableContentType, getRequestAcceptableContentTypes, getRequestAcceptableEncoding, getRequestAcceptableEncodings, getRequestAcceptableLanguage, getRequestAcceptableLanguages, getRequestHeader, getRequestHostName, getRequestIP, getRequestProtocol, isError, isHandler, isHandlerOptions, isPath, isPlugin, isPluginError, isRequestCacheable, isWebHandler, isWebHandlerProvider, matchHandlerMethod, matchRequestContentType, normalizeAppOptions, sendAccepted, sendCreated, sendFile, sendFormat, sendRedirect, sendStream, serializeEventStreamMessage, serve, setResponseCacheHeaders, setResponseContentTypeByFileName, setResponseHeaderAttachment, setResponseHeaderContentType, setResponseHeaderInline, toResponse, useRequestNegotiator };
12
12
 
13
13
  //# sourceMappingURL=cloudflare.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflare.mjs","names":["srvxServe"],"sources":["../src/_entries/cloudflare.ts"],"sourcesContent":["import type { Server, ServerOptions } from 'srvx';\nimport { serve as srvxServe } from 'srvx/cloudflare';\nimport type { Router } from '../router/module.ts';\n\nexport * from '../index.ts';\n\nexport function serve(router: Router, options?: Omit<ServerOptions, 'fetch'>): Server {\n return srvxServe({ fetch: router.fetch.bind(router), ...options });\n}\n"],"mappings":";;;AAMA,SAAgB,MAAM,QAAgB,SAAgD;CAClF,OAAOA,QAAU;EAAE,OAAO,OAAO,MAAM,KAAK,OAAO;EAAE,GAAG;EAAS,CAAC"}
1
+ {"version":3,"file":"cloudflare.mjs","names":["srvxServe"],"sources":["../src/_entries/cloudflare.ts"],"sourcesContent":["import type { Server, ServerOptions } from 'srvx';\nimport { serve as srvxServe } from 'srvx/cloudflare';\nimport type { IApp } from '../app';\n\nexport * from '../index.ts';\n\nexport function serve(app: IApp, options?: Omit<ServerOptions, 'fetch'>): Server {\n return srvxServe({ fetch: app.fetch.bind(app), ...options });\n}\n"],"mappings":";;;AAMA,SAAgB,MAAM,KAAW,SAAgD;CAC7E,OAAOA,QAAU;EAAE,OAAO,IAAI,MAAM,KAAK,IAAI;EAAE,GAAG;EAAS,CAAC"}
package/dist/deno.d.mts CHANGED
@@ -1,8 +1,8 @@
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";
1
+ import { $ as AppOptions, $t as HandlerSymbol, A as sendFormat, At as fromNodeMiddleware, B as setResponseHeaderAttachment, Bt as ErrorHandlerOptions, C as getRequestAcceptableContentTypes, Ct as isHandlerOptions, D as setResponseContentTypeByFileName, Dt as WebHandler, E as toResponse, Et as fromWebHandler, F as SendFileStats, Ft as CoreHandlerOptions, G as EventStreamHandle, Gt as isPath, H as appendResponseHeader, Ht as HandlerBaseOptions, I as sendFile, It as Handler, J as EventStreamListener, Jt as Path, K as EventStreamOptions, Kt as PathMatcher, L as sendCreated, Lt as HandlerOptions, M as SendFileContentOptions, Mt as NodeMiddleware, N as SendFileDisposition, Nt as defineCoreHandler, O as sendStream, Ot as WebHandlerProvider, P as SendFileOptions, Pt as CoreHandler, Q as AppContext, Qt as createError, R as sendAccepted, Rt as defineErrorHandler, S as getRequestAcceptableContentType, St as isHandler, T as isRequestCacheable, Tt as isWebHandlerProvider, U as appendResponseHeaderDirective, Ut as HandlerBeforeListener, V as setResponseHeaderInline, Vt as HandlerAfterListener, W as serializeEventStreamMessage, Wt as HandlerErrorListener, X as ResponseCacheHeadersOptions, Xt as PathMatcherOptions, Y as EventStreamMessage, Yt as PathMatcherExecResult, Z as setResponseCacheHeaders, Zt as isError, _ as getRequestAcceptableLanguages, _t as PluginAlreadyInstalledError, a as SmartRouter, an as AppEventCreateContext, at as ObjectLiteral, b as getRequestAcceptableCharset, bt as PluginErrorCode, c as RequestProtocolOptions, cn as IAppEvent, ct as LruCache, d as RequestIpOptions, dn as MethodName, dt as isPlugin, en as HandlerType, et as AppOptionsInput, f as getRequestIP, fn as MethodNameLike, ft as Plugin, g as getRequestAcceptableLanguage, gt as PluginInstallError, h as matchRequestContentType, hn as HTTPErrorInput, ht as PluginNotInstalledError, i as TrieRouter, in as AppEvent, it as IRouter, j as SendFileContent, jt as NodeHandler, k as sendRedirect, kt as fromNodeHandler, l as getRequestProtocol, ln as NextFn, lt as LruCacheOptions, m as getRequestHostName, mn as ErrorSymbol, mt as PluginInstallFn, n as App, nn as IDispatcher, nt as IApp, o as SmartRouterOptions, on as AppRequest, ot as Route, p as RequestHostNameOptions, pn as AppError, pt as PluginInstallContext, q as createEventStream, qt as IPathMatcher, r as buildRoutePathMatcher, rn as IDispatcherEvent, rt as BaseRouterOptions, s as LinearRouter, sn as AppResponse, st as RouteMatch, t as normalizeAppOptions, tn as DispatcherEvent, tt as AppPipelineContext, u as useRequestNegotiator, un as HeaderName, ut as ICache, v as getRequestAcceptableEncoding, vt as isPluginError, w as getRequestHeader, wt as isWebHandler, x as getRequestAcceptableCharsets, xt as matchHandlerMethod, y as getRequestAcceptableEncodings, yt as PluginError, z as setResponseHeaderContentType, zt as ErrorHandler } from "./index-B80OpXdo.mjs";
2
2
  import { Server, ServerOptions } from "srvx";
3
3
 
4
4
  //#region src/_entries/deno.d.ts
5
- declare function serve(router: Router, options?: Omit<ServerOptions, 'fetch'>): Server;
5
+ declare function serve(app: IApp, options?: Omit<ServerOptions, 'fetch'>): Server;
6
6
  //#endregion
7
- export { CoreHandler, CoreHandlerOptions, DispatcherEvent, ErrorHandler, ErrorHandlerOptions, ErrorSymbol, EventStreamHandle, EventStreamListener, EventStreamMessage, EventStreamOptions, HTTPErrorInput, Handler, HandlerBaseOptions, HandlerOptions, HandlerSymbol, HandlerType, HeaderName, IDispatcher, IDispatcherEvent, IRouter, IRoutupEvent, MethodName, NextFn, NodeHandler, NodeMiddleware, Path, PathMatcher, PathMatcherExecResult, PathMatcherOptions, Plugin, PluginAlreadyInstalledError, PluginError, PluginErrorCode, PluginInstallContext, PluginInstallError, PluginInstallFn, PluginNotInstalledError, RequestHostNameOptions, RequestIpOptions, RequestProtocolOptions, ResponseCacheHeadersOptions, Router, RouterOptions, RouterOptionsInput, RouterPathNode, RouterPipelineContext, RoutupError, RoutupEvent, RoutupEventCreateContext, RoutupRequest, RoutupResponse, SendFileContent, SendFileContentOptions, SendFileDisposition, SendFileOptions, SendFileStats, StackEntry, StackHandlerEntry, StackRouterEntry, WebHandler, WebHandlerProvider, appendResponseHeader, appendResponseHeaderDirective, buildHandlerPathMatcher, createError, createEventStream, defineCoreHandler, defineErrorHandler, fromNodeHandler, fromNodeMiddleware, fromWebHandler, getRequestAcceptableCharset, getRequestAcceptableCharsets, getRequestAcceptableContentType, getRequestAcceptableContentTypes, getRequestAcceptableEncoding, getRequestAcceptableEncodings, getRequestAcceptableLanguage, getRequestAcceptableLanguages, getRequestHeader, getRequestHostName, getRequestIP, getRequestProtocol, isError, isHandler, isHandlerOptions, isPath, isPlugin, isPluginError, isRequestCacheable, isWebHandler, isWebHandlerProvider, matchHandlerMethod, matchRequestContentType, normalizeRouterOptions, sendAccepted, sendCreated, sendFile, sendFormat, sendRedirect, sendStream, serializeEventStreamMessage, serve, setResponseCacheHeaders, setResponseContentTypeByFileName, setResponseHeaderAttachment, setResponseHeaderContentType, setResponseHeaderInline, toResponse, useRequestNegotiator };
7
+ export { App, AppContext, AppError, AppEvent, AppEventCreateContext, AppOptions, AppOptionsInput, AppPipelineContext, AppRequest, AppResponse, BaseRouterOptions, CoreHandler, CoreHandlerOptions, DispatcherEvent, ErrorHandler, ErrorHandlerOptions, ErrorSymbol, EventStreamHandle, EventStreamListener, EventStreamMessage, EventStreamOptions, HTTPErrorInput, Handler, HandlerAfterListener, HandlerBaseOptions, HandlerBeforeListener, HandlerErrorListener, HandlerOptions, HandlerSymbol, HandlerType, HeaderName, IApp, IAppEvent, ICache, IDispatcher, IDispatcherEvent, IPathMatcher, IRouter, LinearRouter, LruCache, LruCacheOptions, MethodName, MethodNameLike, NextFn, NodeHandler, NodeMiddleware, ObjectLiteral, Path, PathMatcher, PathMatcherExecResult, PathMatcherOptions, Plugin, PluginAlreadyInstalledError, PluginError, PluginErrorCode, PluginInstallContext, PluginInstallError, PluginInstallFn, PluginNotInstalledError, RequestHostNameOptions, RequestIpOptions, RequestProtocolOptions, ResponseCacheHeadersOptions, Route, RouteMatch, SendFileContent, SendFileContentOptions, SendFileDisposition, SendFileOptions, SendFileStats, SmartRouter, SmartRouterOptions, TrieRouter, WebHandler, WebHandlerProvider, appendResponseHeader, appendResponseHeaderDirective, buildRoutePathMatcher, createError, createEventStream, defineCoreHandler, defineErrorHandler, fromNodeHandler, fromNodeMiddleware, fromWebHandler, getRequestAcceptableCharset, getRequestAcceptableCharsets, getRequestAcceptableContentType, getRequestAcceptableContentTypes, getRequestAcceptableEncoding, getRequestAcceptableEncodings, getRequestAcceptableLanguage, getRequestAcceptableLanguages, getRequestHeader, getRequestHostName, getRequestIP, getRequestProtocol, isError, isHandler, isHandlerOptions, isPath, isPlugin, isPluginError, isRequestCacheable, isWebHandler, isWebHandlerProvider, matchHandlerMethod, matchRequestContentType, normalizeAppOptions, sendAccepted, sendCreated, sendFile, sendFormat, sendRedirect, sendStream, serializeEventStreamMessage, serve, setResponseCacheHeaders, setResponseContentTypeByFileName, setResponseHeaderAttachment, setResponseHeaderContentType, setResponseHeaderInline, toResponse, useRequestNegotiator };
8
8
  //# sourceMappingURL=deno.d.mts.map
package/dist/deno.mjs CHANGED
@@ -1,13 +1,13 @@
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";
1
+ import { $ as isError, A as fromWebHandler, B as DispatcherEvent, C as getRequestAcceptableEncodings, D as matchHandlerMethod, E as isRequestCacheable, F as defineErrorHandler, G as getRequestAcceptableContentTypes, H as sendRedirect, I as defineCoreHandler, J as sendFile, K as useRequestNegotiator, L as Handler, M as isWebHandlerProvider, N as fromNodeHandler, O as isHandler, P as fromNodeMiddleware, Q as createError, R as HandlerSymbol, S as getRequestAcceptableEncoding, T as getRequestAcceptableCharsets, U as sendFormat, V as sendStream, W as getRequestAcceptableContentType, X as sendAccepted, Y as sendCreated, Z as toResponse, _ as getRequestIP, a as LinearRouter, at as appendResponseHeaderDirective, b as getRequestAcceptableLanguage, c as PluginNotInstalledError, ct as AppError, d as PluginError, dt as AppEvent, et as setResponseHeaderContentType, f as isPluginError, ft as HeaderName, g as getRequestProtocol, h as PathMatcher, i as TrieRouter, it as appendResponseHeader, j as isWebHandler, k as isHandlerOptions, l as PluginInstallError, lt as ErrorSymbol, m as isPath, mt as LruCache, n as normalizeAppOptions, nt as setResponseHeaderInline, o as buildRoutePathMatcher, ot as createEventStream, p as PluginErrorCode, pt as MethodName, q as getRequestHeader, r as SmartRouter, rt as setResponseContentTypeByFileName, s as isPlugin, st as serializeEventStreamMessage, t as App, tt as setResponseHeaderAttachment, u as PluginAlreadyInstalledError, ut as setResponseCacheHeaders, v as getRequestHostName, w as getRequestAcceptableCharset, x as getRequestAcceptableLanguages, y as matchRequestContentType, z as HandlerType } from "./src-DaK6SZc0.mjs";
2
2
  import { serve as serve$1 } from "srvx/deno";
3
3
  //#region src/_entries/deno.ts
4
- function serve(router, options) {
4
+ function serve(app, options) {
5
5
  return serve$1({
6
- fetch: router.fetch.bind(router),
6
+ fetch: app.fetch.bind(app),
7
7
  ...options
8
8
  });
9
9
  }
10
10
  //#endregion
11
- export { DispatcherEvent, ErrorSymbol, Handler, HandlerSymbol, HandlerType, HeaderName, MethodName, PathMatcher, PluginAlreadyInstalledError, PluginError, PluginErrorCode, PluginInstallError, PluginNotInstalledError, Router, RoutupError, RoutupEvent, appendResponseHeader, appendResponseHeaderDirective, buildHandlerPathMatcher, createError, createEventStream, defineCoreHandler, defineErrorHandler, fromNodeHandler, fromNodeMiddleware, fromWebHandler, getRequestAcceptableCharset, getRequestAcceptableCharsets, getRequestAcceptableContentType, getRequestAcceptableContentTypes, getRequestAcceptableEncoding, getRequestAcceptableEncodings, getRequestAcceptableLanguage, getRequestAcceptableLanguages, getRequestHeader, getRequestHostName, getRequestIP, getRequestProtocol, isError, isHandler, isHandlerOptions, isPath, isPlugin, isPluginError, isRequestCacheable, isWebHandler, isWebHandlerProvider, matchHandlerMethod, matchRequestContentType, normalizeRouterOptions, sendAccepted, sendCreated, sendFile, sendFormat, sendRedirect, sendStream, serializeEventStreamMessage, serve, setResponseCacheHeaders, setResponseContentTypeByFileName, setResponseHeaderAttachment, setResponseHeaderContentType, setResponseHeaderInline, toResponse, useRequestNegotiator };
11
+ export { App, AppError, AppEvent, DispatcherEvent, ErrorSymbol, Handler, HandlerSymbol, HandlerType, HeaderName, LinearRouter, LruCache, MethodName, PathMatcher, PluginAlreadyInstalledError, PluginError, PluginErrorCode, PluginInstallError, PluginNotInstalledError, SmartRouter, TrieRouter, appendResponseHeader, appendResponseHeaderDirective, buildRoutePathMatcher, createError, createEventStream, defineCoreHandler, defineErrorHandler, fromNodeHandler, fromNodeMiddleware, fromWebHandler, getRequestAcceptableCharset, getRequestAcceptableCharsets, getRequestAcceptableContentType, getRequestAcceptableContentTypes, getRequestAcceptableEncoding, getRequestAcceptableEncodings, getRequestAcceptableLanguage, getRequestAcceptableLanguages, getRequestHeader, getRequestHostName, getRequestIP, getRequestProtocol, isError, isHandler, isHandlerOptions, isPath, isPlugin, isPluginError, isRequestCacheable, isWebHandler, isWebHandlerProvider, matchHandlerMethod, matchRequestContentType, normalizeAppOptions, sendAccepted, sendCreated, sendFile, sendFormat, sendRedirect, sendStream, serializeEventStreamMessage, serve, setResponseCacheHeaders, setResponseContentTypeByFileName, setResponseHeaderAttachment, setResponseHeaderContentType, setResponseHeaderInline, toResponse, useRequestNegotiator };
12
12
 
13
13
  //# sourceMappingURL=deno.mjs.map
package/dist/deno.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"deno.mjs","names":["srvxServe"],"sources":["../src/_entries/deno.ts"],"sourcesContent":["import type { Server, ServerOptions } from 'srvx';\nimport { serve as srvxServe } from 'srvx/deno';\nimport type { Router } from '../router/module.ts';\n\nexport * from '../index.ts';\n\nexport function serve(router: Router, options?: Omit<ServerOptions, 'fetch'>): Server {\n return srvxServe({ fetch: router.fetch.bind(router), ...options });\n}\n"],"mappings":";;;AAMA,SAAgB,MAAM,QAAgB,SAAgD;CAClF,OAAOA,QAAU;EAAE,OAAO,OAAO,MAAM,KAAK,OAAO;EAAE,GAAG;EAAS,CAAC"}
1
+ {"version":3,"file":"deno.mjs","names":["srvxServe"],"sources":["../src/_entries/deno.ts"],"sourcesContent":["import type { Server, ServerOptions } from 'srvx';\nimport { serve as srvxServe } from 'srvx/deno';\nimport type { IApp } from '../app';\n\nexport * from '../index.ts';\n\nexport function serve(app: IApp, options?: Omit<ServerOptions, 'fetch'>): Server {\n return srvxServe({ fetch: app.fetch.bind(app), ...options });\n}\n"],"mappings":";;;AAMA,SAAgB,MAAM,KAAW,SAAgD;CAC7E,OAAOA,QAAU;EAAE,OAAO,IAAI,MAAM,KAAK,IAAI;EAAE,GAAG;EAAS,CAAC"}
@@ -1,8 +1,8 @@
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";
1
+ import { $ as AppOptions, $t as HandlerSymbol, A as sendFormat, At as fromNodeMiddleware, B as setResponseHeaderAttachment, Bt as ErrorHandlerOptions, C as getRequestAcceptableContentTypes, Ct as isHandlerOptions, D as setResponseContentTypeByFileName, Dt as WebHandler, E as toResponse, Et as fromWebHandler, F as SendFileStats, Ft as CoreHandlerOptions, G as EventStreamHandle, Gt as isPath, H as appendResponseHeader, Ht as HandlerBaseOptions, I as sendFile, It as Handler, J as EventStreamListener, Jt as Path, K as EventStreamOptions, Kt as PathMatcher, L as sendCreated, Lt as HandlerOptions, M as SendFileContentOptions, Mt as NodeMiddleware, N as SendFileDisposition, Nt as defineCoreHandler, O as sendStream, Ot as WebHandlerProvider, P as SendFileOptions, Pt as CoreHandler, Q as AppContext, Qt as createError, R as sendAccepted, Rt as defineErrorHandler, S as getRequestAcceptableContentType, St as isHandler, T as isRequestCacheable, Tt as isWebHandlerProvider, U as appendResponseHeaderDirective, Ut as HandlerBeforeListener, V as setResponseHeaderInline, Vt as HandlerAfterListener, W as serializeEventStreamMessage, Wt as HandlerErrorListener, X as ResponseCacheHeadersOptions, Xt as PathMatcherOptions, Y as EventStreamMessage, Yt as PathMatcherExecResult, Z as setResponseCacheHeaders, Zt as isError, _ as getRequestAcceptableLanguages, _t as PluginAlreadyInstalledError, a as SmartRouter, an as AppEventCreateContext, at as ObjectLiteral, b as getRequestAcceptableCharset, bt as PluginErrorCode, c as RequestProtocolOptions, cn as IAppEvent, ct as LruCache, d as RequestIpOptions, dn as MethodName, dt as isPlugin, en as HandlerType, et as AppOptionsInput, f as getRequestIP, fn as MethodNameLike, ft as Plugin, g as getRequestAcceptableLanguage, gt as PluginInstallError, h as matchRequestContentType, hn as HTTPErrorInput, ht as PluginNotInstalledError, i as TrieRouter, in as AppEvent, it as IRouter, j as SendFileContent, jt as NodeHandler, k as sendRedirect, kt as fromNodeHandler, l as getRequestProtocol, ln as NextFn, lt as LruCacheOptions, m as getRequestHostName, mn as ErrorSymbol, mt as PluginInstallFn, n as App, nn as IDispatcher, nt as IApp, o as SmartRouterOptions, on as AppRequest, ot as Route, p as RequestHostNameOptions, pn as AppError, pt as PluginInstallContext, q as createEventStream, qt as IPathMatcher, r as buildRoutePathMatcher, rn as IDispatcherEvent, rt as BaseRouterOptions, s as LinearRouter, sn as AppResponse, st as RouteMatch, t as normalizeAppOptions, tn as DispatcherEvent, tt as AppPipelineContext, u as useRequestNegotiator, un as HeaderName, ut as ICache, v as getRequestAcceptableEncoding, vt as isPluginError, w as getRequestHeader, wt as isWebHandler, x as getRequestAcceptableCharsets, xt as matchHandlerMethod, y as getRequestAcceptableEncodings, yt as PluginError, z as setResponseHeaderContentType, zt as ErrorHandler } from "./index-B80OpXdo.mjs";
2
2
  import { Server, ServerOptions } from "srvx";
3
3
 
4
4
  //#region src/_entries/generic.d.ts
5
- declare function serve(router: Router, options?: Omit<ServerOptions, 'fetch'>): Server;
5
+ declare function serve(app: IApp, options?: Omit<ServerOptions, 'fetch'>): Server;
6
6
  //#endregion
7
- export { CoreHandler, CoreHandlerOptions, DispatcherEvent, ErrorHandler, ErrorHandlerOptions, ErrorSymbol, EventStreamHandle, EventStreamListener, EventStreamMessage, EventStreamOptions, HTTPErrorInput, Handler, HandlerBaseOptions, HandlerOptions, HandlerSymbol, HandlerType, HeaderName, IDispatcher, IDispatcherEvent, IRouter, IRoutupEvent, MethodName, NextFn, NodeHandler, NodeMiddleware, Path, PathMatcher, PathMatcherExecResult, PathMatcherOptions, Plugin, PluginAlreadyInstalledError, PluginError, PluginErrorCode, PluginInstallContext, PluginInstallError, PluginInstallFn, PluginNotInstalledError, RequestHostNameOptions, RequestIpOptions, RequestProtocolOptions, ResponseCacheHeadersOptions, Router, RouterOptions, RouterOptionsInput, RouterPathNode, RouterPipelineContext, RoutupError, RoutupEvent, RoutupEventCreateContext, RoutupRequest, RoutupResponse, SendFileContent, SendFileContentOptions, SendFileDisposition, SendFileOptions, SendFileStats, StackEntry, StackHandlerEntry, StackRouterEntry, WebHandler, WebHandlerProvider, appendResponseHeader, appendResponseHeaderDirective, buildHandlerPathMatcher, createError, createEventStream, defineCoreHandler, defineErrorHandler, fromNodeHandler, fromNodeMiddleware, fromWebHandler, getRequestAcceptableCharset, getRequestAcceptableCharsets, getRequestAcceptableContentType, getRequestAcceptableContentTypes, getRequestAcceptableEncoding, getRequestAcceptableEncodings, getRequestAcceptableLanguage, getRequestAcceptableLanguages, getRequestHeader, getRequestHostName, getRequestIP, getRequestProtocol, isError, isHandler, isHandlerOptions, isPath, isPlugin, isPluginError, isRequestCacheable, isWebHandler, isWebHandlerProvider, matchHandlerMethod, matchRequestContentType, normalizeRouterOptions, sendAccepted, sendCreated, sendFile, sendFormat, sendRedirect, sendStream, serializeEventStreamMessage, serve, setResponseCacheHeaders, setResponseContentTypeByFileName, setResponseHeaderAttachment, setResponseHeaderContentType, setResponseHeaderInline, toResponse, useRequestNegotiator };
7
+ export { App, AppContext, AppError, AppEvent, AppEventCreateContext, AppOptions, AppOptionsInput, AppPipelineContext, AppRequest, AppResponse, BaseRouterOptions, CoreHandler, CoreHandlerOptions, DispatcherEvent, ErrorHandler, ErrorHandlerOptions, ErrorSymbol, EventStreamHandle, EventStreamListener, EventStreamMessage, EventStreamOptions, HTTPErrorInput, Handler, HandlerAfterListener, HandlerBaseOptions, HandlerBeforeListener, HandlerErrorListener, HandlerOptions, HandlerSymbol, HandlerType, HeaderName, IApp, IAppEvent, ICache, IDispatcher, IDispatcherEvent, IPathMatcher, IRouter, LinearRouter, LruCache, LruCacheOptions, MethodName, MethodNameLike, NextFn, NodeHandler, NodeMiddleware, ObjectLiteral, Path, PathMatcher, PathMatcherExecResult, PathMatcherOptions, Plugin, PluginAlreadyInstalledError, PluginError, PluginErrorCode, PluginInstallContext, PluginInstallError, PluginInstallFn, PluginNotInstalledError, RequestHostNameOptions, RequestIpOptions, RequestProtocolOptions, ResponseCacheHeadersOptions, Route, RouteMatch, SendFileContent, SendFileContentOptions, SendFileDisposition, SendFileOptions, SendFileStats, SmartRouter, SmartRouterOptions, TrieRouter, WebHandler, WebHandlerProvider, appendResponseHeader, appendResponseHeaderDirective, buildRoutePathMatcher, createError, createEventStream, defineCoreHandler, defineErrorHandler, fromNodeHandler, fromNodeMiddleware, fromWebHandler, getRequestAcceptableCharset, getRequestAcceptableCharsets, getRequestAcceptableContentType, getRequestAcceptableContentTypes, getRequestAcceptableEncoding, getRequestAcceptableEncodings, getRequestAcceptableLanguage, getRequestAcceptableLanguages, getRequestHeader, getRequestHostName, getRequestIP, getRequestProtocol, isError, isHandler, isHandlerOptions, isPath, isPlugin, isPluginError, isRequestCacheable, isWebHandler, isWebHandlerProvider, matchHandlerMethod, matchRequestContentType, normalizeAppOptions, sendAccepted, sendCreated, sendFile, sendFormat, sendRedirect, sendStream, serializeEventStreamMessage, serve, setResponseCacheHeaders, setResponseContentTypeByFileName, setResponseHeaderAttachment, setResponseHeaderContentType, setResponseHeaderInline, toResponse, useRequestNegotiator };
8
8
  //# sourceMappingURL=generic.d.mts.map
package/dist/generic.mjs CHANGED
@@ -1,13 +1,13 @@
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";
1
+ import { $ as isError, A as fromWebHandler, B as DispatcherEvent, C as getRequestAcceptableEncodings, D as matchHandlerMethod, E as isRequestCacheable, F as defineErrorHandler, G as getRequestAcceptableContentTypes, H as sendRedirect, I as defineCoreHandler, J as sendFile, K as useRequestNegotiator, L as Handler, M as isWebHandlerProvider, N as fromNodeHandler, O as isHandler, P as fromNodeMiddleware, Q as createError, R as HandlerSymbol, S as getRequestAcceptableEncoding, T as getRequestAcceptableCharsets, U as sendFormat, V as sendStream, W as getRequestAcceptableContentType, X as sendAccepted, Y as sendCreated, Z as toResponse, _ as getRequestIP, a as LinearRouter, at as appendResponseHeaderDirective, b as getRequestAcceptableLanguage, c as PluginNotInstalledError, ct as AppError, d as PluginError, dt as AppEvent, et as setResponseHeaderContentType, f as isPluginError, ft as HeaderName, g as getRequestProtocol, h as PathMatcher, i as TrieRouter, it as appendResponseHeader, j as isWebHandler, k as isHandlerOptions, l as PluginInstallError, lt as ErrorSymbol, m as isPath, mt as LruCache, n as normalizeAppOptions, nt as setResponseHeaderInline, o as buildRoutePathMatcher, ot as createEventStream, p as PluginErrorCode, pt as MethodName, q as getRequestHeader, r as SmartRouter, rt as setResponseContentTypeByFileName, s as isPlugin, st as serializeEventStreamMessage, t as App, tt as setResponseHeaderAttachment, u as PluginAlreadyInstalledError, ut as setResponseCacheHeaders, v as getRequestHostName, w as getRequestAcceptableCharset, x as getRequestAcceptableLanguages, y as matchRequestContentType, z as HandlerType } from "./src-DaK6SZc0.mjs";
2
2
  import { serve as serve$1 } from "srvx/generic";
3
3
  //#region src/_entries/generic.ts
4
- function serve(router, options) {
4
+ function serve(app, options) {
5
5
  return serve$1({
6
- fetch: router.fetch.bind(router),
6
+ fetch: app.fetch.bind(app),
7
7
  ...options
8
8
  });
9
9
  }
10
10
  //#endregion
11
- export { DispatcherEvent, ErrorSymbol, Handler, HandlerSymbol, HandlerType, HeaderName, MethodName, PathMatcher, PluginAlreadyInstalledError, PluginError, PluginErrorCode, PluginInstallError, PluginNotInstalledError, Router, RoutupError, RoutupEvent, appendResponseHeader, appendResponseHeaderDirective, buildHandlerPathMatcher, createError, createEventStream, defineCoreHandler, defineErrorHandler, fromNodeHandler, fromNodeMiddleware, fromWebHandler, getRequestAcceptableCharset, getRequestAcceptableCharsets, getRequestAcceptableContentType, getRequestAcceptableContentTypes, getRequestAcceptableEncoding, getRequestAcceptableEncodings, getRequestAcceptableLanguage, getRequestAcceptableLanguages, getRequestHeader, getRequestHostName, getRequestIP, getRequestProtocol, isError, isHandler, isHandlerOptions, isPath, isPlugin, isPluginError, isRequestCacheable, isWebHandler, isWebHandlerProvider, matchHandlerMethod, matchRequestContentType, normalizeRouterOptions, sendAccepted, sendCreated, sendFile, sendFormat, sendRedirect, sendStream, serializeEventStreamMessage, serve, setResponseCacheHeaders, setResponseContentTypeByFileName, setResponseHeaderAttachment, setResponseHeaderContentType, setResponseHeaderInline, toResponse, useRequestNegotiator };
11
+ export { App, AppError, AppEvent, DispatcherEvent, ErrorSymbol, Handler, HandlerSymbol, HandlerType, HeaderName, LinearRouter, LruCache, MethodName, PathMatcher, PluginAlreadyInstalledError, PluginError, PluginErrorCode, PluginInstallError, PluginNotInstalledError, SmartRouter, TrieRouter, appendResponseHeader, appendResponseHeaderDirective, buildRoutePathMatcher, createError, createEventStream, defineCoreHandler, defineErrorHandler, fromNodeHandler, fromNodeMiddleware, fromWebHandler, getRequestAcceptableCharset, getRequestAcceptableCharsets, getRequestAcceptableContentType, getRequestAcceptableContentTypes, getRequestAcceptableEncoding, getRequestAcceptableEncodings, getRequestAcceptableLanguage, getRequestAcceptableLanguages, getRequestHeader, getRequestHostName, getRequestIP, getRequestProtocol, isError, isHandler, isHandlerOptions, isPath, isPlugin, isPluginError, isRequestCacheable, isWebHandler, isWebHandlerProvider, matchHandlerMethod, matchRequestContentType, normalizeAppOptions, sendAccepted, sendCreated, sendFile, sendFormat, sendRedirect, sendStream, serializeEventStreamMessage, serve, setResponseCacheHeaders, setResponseContentTypeByFileName, setResponseHeaderAttachment, setResponseHeaderContentType, setResponseHeaderInline, toResponse, useRequestNegotiator };
12
12
 
13
13
  //# sourceMappingURL=generic.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"generic.mjs","names":["srvxServe"],"sources":["../src/_entries/generic.ts"],"sourcesContent":["import type { Server, ServerOptions } from 'srvx';\nimport { serve as srvxServe } from 'srvx/generic';\nimport type { Router } from '../router/module.ts';\n\nexport * from '../index.ts';\n\nexport function serve(router: Router, options?: Omit<ServerOptions, 'fetch'>): Server {\n return srvxServe({ fetch: router.fetch.bind(router), ...options });\n}\n"],"mappings":";;;AAMA,SAAgB,MAAM,QAAgB,SAAgD;CAClF,OAAOA,QAAU;EAAE,OAAO,OAAO,MAAM,KAAK,OAAO;EAAE,GAAG;EAAS,CAAC"}
1
+ {"version":3,"file":"generic.mjs","names":["srvxServe"],"sources":["../src/_entries/generic.ts"],"sourcesContent":["import type { Server, ServerOptions } from 'srvx';\nimport { serve as srvxServe } from 'srvx/generic';\nimport type { IApp } from '../app';\n\nexport * from '../index.ts';\n\nexport function serve(app: IApp, options?: Omit<ServerOptions, 'fetch'>): Server {\n return srvxServe({ fetch: app.fetch.bind(app), ...options });\n}\n"],"mappings":";;;AAMA,SAAgB,MAAM,KAAW,SAAgD;CAC7E,OAAOA,QAAU;EAAE,OAAO,IAAI,MAAM,KAAK,IAAI;EAAE,GAAG;EAAS,CAAC"}