@visulima/connect 4.0.0-alpha.7 → 4.0.0-alpha.8
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/CHANGELOG.md +15 -0
- package/dist/adapter/express.d.cts +1 -1
- package/dist/adapter/express.d.mts +1 -1
- package/dist/adapter/express.d.ts +1 -1
- package/dist/adapter/with-zod.d.cts +3 -7
- package/dist/adapter/with-zod.d.mts +3 -7
- package/dist/adapter/with-zod.d.ts +3 -7
- package/dist/edge.d.cts +5 -5
- package/dist/edge.d.mts +5 -5
- package/dist/edge.d.ts +5 -5
- package/dist/index.cjs +6 -6
- package/dist/index.mjs +6 -6
- package/dist/node.d.cts +4 -8
- package/dist/node.d.mts +4 -8
- package/dist/node.d.ts +4 -8
- package/dist/packem_shared/{EdgeRouter-B-e2l9un.cjs → EdgeRouter-Dx7Q5duD.cjs} +40 -33
- package/dist/packem_shared/{EdgeRouter-CdtQHTwm.mjs → EdgeRouter-x-Px7BEe.mjs} +40 -33
- package/dist/packem_shared/Router-CT_g_29S.mjs +168 -0
- package/dist/packem_shared/Router-DMp6zIkp.cjs +172 -0
- package/dist/packem_shared/{createRouter-_G1XhaP4.mjs → createRouter-BRGcdDwj.mjs} +40 -32
- package/dist/packem_shared/{createRouter-C8hDVJcV.cjs → createRouter-D-kQjdxT.cjs} +40 -32
- package/dist/packem_shared/expressWrapper-CeTFmeNH.mjs +14 -0
- package/dist/packem_shared/expressWrapper-oEj2tv9s.cjs +16 -0
- package/dist/packem_shared/{sendJson-DwLYLDbt.mjs → sendJson-Cd6CsJC_.mjs} +1 -1
- package/dist/packem_shared/{sendJson-pJY2tT2n.cjs → sendJson-DjC80Qht.cjs} +1 -1
- package/dist/packem_shared/{withZod-HYgoC7AX.mjs → withZod-DMHxmHJB.mjs} +3 -6
- package/dist/packem_shared/withZod-hpoT0ByV.cjs +34 -0
- package/dist/router.d.cts +6 -1
- package/dist/router.d.mts +6 -1
- package/dist/router.d.ts +6 -1
- package/dist/utils/send-json.d.cts +4 -4
- package/dist/utils/send-json.d.mts +4 -4
- package/dist/utils/send-json.d.ts +4 -4
- package/package.json +1 -2
- package/dist/packem_shared/Router-ChnTdYfl.mjs +0 -135
- package/dist/packem_shared/Router-Eg_OPxIL.cjs +0 -139
- package/dist/packem_shared/expressWrapper-CTExfWvM.cjs +0 -10
- package/dist/packem_shared/expressWrapper-spfs58is.mjs +0 -8
- package/dist/packem_shared/withZod-ULTsdyM5.cjs +0 -24
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
## @visulima/connect [4.0.0-alpha.8](https://github.com/visulima/visulima/compare/@visulima/connect@4.0.0-alpha.7...@visulima/connect@4.0.0-alpha.8) (2026-04-08)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **connect:** properly fix eslint errors in code ([5266ef1](https://github.com/visulima/visulima/commit/5266ef1ee416732409b8bff352247fc972929634))
|
|
6
|
+
* **connect:** remove remaining eslint suppressions with proper code fixes ([bc69936](https://github.com/visulima/visulima/commit/bc69936bd0508def799d95a1772a5792fb57949c))
|
|
7
|
+
* **connect:** resolve eslint errors ([49abc96](https://github.com/visulima/visulima/commit/49abc96b7cccbedb47507adda539cdf715dfc7a9))
|
|
8
|
+
|
|
9
|
+
### Miscellaneous Chores
|
|
10
|
+
|
|
11
|
+
* **api:** remove empty dependency objects from package.json ([f6bfc85](https://github.com/visulima/visulima/commit/f6bfc85c48c973ff8ea0a7db5951794ae0ea3efb))
|
|
12
|
+
* **connect:** add tsconfig.eslint.json for type-aware linting ([d8e6ae1](https://github.com/visulima/visulima/commit/d8e6ae1cfe5ce82d228054feb35b7fa4a4503211))
|
|
13
|
+
* **connect:** apply prettier formatting ([8ecf930](https://github.com/visulima/visulima/commit/8ecf93071cb0087a8c49520cc594a753dba5e39d))
|
|
14
|
+
* **connect:** migrate .prettierrc.cjs to prettier.config.js ([949d441](https://github.com/visulima/visulima/commit/949d44166d9ce6f66044d87eb0bdd0a8b85c03ed))
|
|
15
|
+
|
|
1
16
|
## @visulima/connect [4.0.0-alpha.7](https://github.com/visulima/visulima/compare/@visulima/connect@4.0.0-alpha.6...@visulima/connect@4.0.0-alpha.7) (2026-03-26)
|
|
2
17
|
|
|
3
18
|
### Features
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
2
|
import type { RequestHandler } from "../node.d.cts";
|
|
3
3
|
import type { Nextable } from "../types.d.d.cts";
|
|
4
|
-
type NextFunction = (error?:
|
|
4
|
+
type NextFunction = (error?: Error) => void;
|
|
5
5
|
declare const expressWrapper: <Request extends IncomingMessage, Response extends ServerResponse>(function_: ExpressRequestHandler<Request, Response>) => Nextable<RequestHandler<Request, Response>>;
|
|
6
6
|
export type ExpressRequestHandler<Request, Response> = (request: Request, response: Response, next: NextFunction) => void;
|
|
7
7
|
export = expressWrapper;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
2
|
import type { RequestHandler } from "../node.d.mts";
|
|
3
3
|
import type { Nextable } from "../types.d.d.mts";
|
|
4
|
-
type NextFunction = (error?:
|
|
4
|
+
type NextFunction = (error?: Error) => void;
|
|
5
5
|
declare const expressWrapper: <Request extends IncomingMessage, Response extends ServerResponse>(function_: ExpressRequestHandler<Request, Response>) => Nextable<RequestHandler<Request, Response>>;
|
|
6
6
|
export type ExpressRequestHandler<Request, Response> = (request: Request, response: Response, next: NextFunction) => void;
|
|
7
7
|
export default expressWrapper;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
2
|
import type { RequestHandler } from "../node.d.ts";
|
|
3
3
|
import type { Nextable } from "../types.d.d.ts";
|
|
4
|
-
type NextFunction = (error?:
|
|
4
|
+
type NextFunction = (error?: Error) => void;
|
|
5
5
|
declare const expressWrapper: <Request extends IncomingMessage, Response extends ServerResponse>(function_: ExpressRequestHandler<Request, Response>) => Nextable<RequestHandler<Request, Response>>;
|
|
6
6
|
export type ExpressRequestHandler<Request, Response> = (request: Request, response: Response, next: NextFunction) => void;
|
|
7
7
|
export = expressWrapper;
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { Nextable, NextHandler } from "../types.d.d.cts";
|
|
3
|
-
declare const withZod: <
|
|
4
|
-
body?: ZodObject<any>;
|
|
5
|
-
headers?: ZodObject<any>;
|
|
6
|
-
query?: ZodObject<any>;
|
|
7
|
-
}>>(schema: Schema, handler: Handler) => (request: Request, response: Response, next: NextHandler) => Promise<Response>;
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
import type { FunctionLike, Nextable, NextHandler } from "../types.d.d.cts";
|
|
3
|
+
declare const withZod: (schema: z.ZodObject<any>, handler: Nextable<FunctionLike>) => (request: unknown, response: unknown, next: NextHandler) => Promise<unknown>;
|
|
8
4
|
export = withZod;
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { Nextable, NextHandler } from "../types.d.d.mts";
|
|
3
|
-
declare const withZod: <
|
|
4
|
-
body?: ZodObject<any>;
|
|
5
|
-
headers?: ZodObject<any>;
|
|
6
|
-
query?: ZodObject<any>;
|
|
7
|
-
}>>(schema: Schema, handler: Handler) => (request: Request, response: Response, next: NextHandler) => Promise<Response>;
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
import type { FunctionLike, Nextable, NextHandler } from "../types.d.d.mts";
|
|
3
|
+
declare const withZod: (schema: z.ZodObject<any>, handler: Nextable<FunctionLike>) => (request: unknown, response: unknown, next: NextHandler) => Promise<unknown>;
|
|
8
4
|
export default withZod;
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { Nextable, NextHandler } from "../types.d.d.ts";
|
|
3
|
-
declare const withZod: <
|
|
4
|
-
body?: ZodObject<any>;
|
|
5
|
-
headers?: ZodObject<any>;
|
|
6
|
-
query?: ZodObject<any>;
|
|
7
|
-
}>>(schema: Schema, handler: Handler) => (request: Request, response: Response, next: NextHandler) => Promise<Response>;
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
import type { FunctionLike, Nextable, NextHandler } from "../types.d.d.ts";
|
|
3
|
+
declare const withZod: (schema: z.ZodObject<any>, handler: Nextable<FunctionLike>) => (request: unknown, response: unknown, next: NextHandler) => Promise<unknown>;
|
|
8
4
|
export = withZod;
|
package/dist/edge.d.cts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type * as z from "zod";
|
|
2
2
|
import type { Route } from "./router.d.cts";
|
|
3
3
|
import type { FunctionLike, HandlerOptions, Nextable, RouteMatch, RoutesExtendedRequestHandler, RouteShortcutMethod, ValueOrPromise } from "./types.d.d.cts";
|
|
4
4
|
export declare const getPathname: (request: Request & {
|
|
5
5
|
nextUrl?: URL;
|
|
6
6
|
}) => string;
|
|
7
|
-
export type RequestHandler<R extends Request, Context> = (request: R, context_: Context) => ValueOrPromise<Response |
|
|
8
|
-
export declare class EdgeRouter<R extends Request = Request, Context = unknown, RResponse extends Response = Response, Schema extends ZodObject<any> = ZodObject<any>> {
|
|
7
|
+
export type RequestHandler<R extends Request, Context> = (request: R, context_: Context) => ValueOrPromise<Response | undefined>;
|
|
8
|
+
export declare class EdgeRouter<R extends Request = Request, Context = unknown, RResponse extends Response = Response, Schema extends z.ZodObject<any> = z.ZodObject<any>> {
|
|
9
|
+
private static prepareRequest;
|
|
9
10
|
all: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
10
11
|
connect: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
11
12
|
delete: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
@@ -21,10 +22,9 @@ export declare class EdgeRouter<R extends Request = Request, Context = unknown,
|
|
|
21
22
|
private router;
|
|
22
23
|
constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, RResponse, Route<Nextable<FunctionLike>>[]>>);
|
|
23
24
|
clone(): EdgeRouter<R, Context, RResponse, Schema>;
|
|
24
|
-
handler(): (request: R, context_: Context) => Promise<
|
|
25
|
+
handler(): (request: R, context_: Context) => Promise<RResponse | undefined>;
|
|
25
26
|
run(request: R, context_: Context): Promise<unknown>;
|
|
26
27
|
use(base: EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>> | RouteMatch, ...fns: (EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>>)[]): this;
|
|
27
28
|
private add;
|
|
28
|
-
private prepareRequest;
|
|
29
29
|
}
|
|
30
30
|
export declare const createEdgeRouter: <R extends Request, Context>(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, Response, Route<Nextable<FunctionLike>>[]>>) => EdgeRouter<R, Context>;
|
package/dist/edge.d.mts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type * as z from "zod";
|
|
2
2
|
import type { Route } from "./router.d.mts";
|
|
3
3
|
import type { FunctionLike, HandlerOptions, Nextable, RouteMatch, RoutesExtendedRequestHandler, RouteShortcutMethod, ValueOrPromise } from "./types.d.d.mts";
|
|
4
4
|
export declare const getPathname: (request: Request & {
|
|
5
5
|
nextUrl?: URL;
|
|
6
6
|
}) => string;
|
|
7
|
-
export type RequestHandler<R extends Request, Context> = (request: R, context_: Context) => ValueOrPromise<Response |
|
|
8
|
-
export declare class EdgeRouter<R extends Request = Request, Context = unknown, RResponse extends Response = Response, Schema extends ZodObject<any> = ZodObject<any>> {
|
|
7
|
+
export type RequestHandler<R extends Request, Context> = (request: R, context_: Context) => ValueOrPromise<Response | undefined>;
|
|
8
|
+
export declare class EdgeRouter<R extends Request = Request, Context = unknown, RResponse extends Response = Response, Schema extends z.ZodObject<any> = z.ZodObject<any>> {
|
|
9
|
+
private static prepareRequest;
|
|
9
10
|
all: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
10
11
|
connect: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
11
12
|
delete: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
@@ -21,10 +22,9 @@ export declare class EdgeRouter<R extends Request = Request, Context = unknown,
|
|
|
21
22
|
private router;
|
|
22
23
|
constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, RResponse, Route<Nextable<FunctionLike>>[]>>);
|
|
23
24
|
clone(): EdgeRouter<R, Context, RResponse, Schema>;
|
|
24
|
-
handler(): (request: R, context_: Context) => Promise<
|
|
25
|
+
handler(): (request: R, context_: Context) => Promise<RResponse | undefined>;
|
|
25
26
|
run(request: R, context_: Context): Promise<unknown>;
|
|
26
27
|
use(base: EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>> | RouteMatch, ...fns: (EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>>)[]): this;
|
|
27
28
|
private add;
|
|
28
|
-
private prepareRequest;
|
|
29
29
|
}
|
|
30
30
|
export declare const createEdgeRouter: <R extends Request, Context>(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, Response, Route<Nextable<FunctionLike>>[]>>) => EdgeRouter<R, Context>;
|
package/dist/edge.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type * as z from "zod";
|
|
2
2
|
import type { Route } from "./router.d.ts";
|
|
3
3
|
import type { FunctionLike, HandlerOptions, Nextable, RouteMatch, RoutesExtendedRequestHandler, RouteShortcutMethod, ValueOrPromise } from "./types.d.d.ts";
|
|
4
4
|
export declare const getPathname: (request: Request & {
|
|
5
5
|
nextUrl?: URL;
|
|
6
6
|
}) => string;
|
|
7
|
-
export type RequestHandler<R extends Request, Context> = (request: R, context_: Context) => ValueOrPromise<Response |
|
|
8
|
-
export declare class EdgeRouter<R extends Request = Request, Context = unknown, RResponse extends Response = Response, Schema extends ZodObject<any> = ZodObject<any>> {
|
|
7
|
+
export type RequestHandler<R extends Request, Context> = (request: R, context_: Context) => ValueOrPromise<Response | undefined>;
|
|
8
|
+
export declare class EdgeRouter<R extends Request = Request, Context = unknown, RResponse extends Response = Response, Schema extends z.ZodObject<any> = z.ZodObject<any>> {
|
|
9
|
+
private static prepareRequest;
|
|
9
10
|
all: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
10
11
|
connect: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
11
12
|
delete: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
@@ -21,10 +22,9 @@ export declare class EdgeRouter<R extends Request = Request, Context = unknown,
|
|
|
21
22
|
private router;
|
|
22
23
|
constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, RResponse, Route<Nextable<FunctionLike>>[]>>);
|
|
23
24
|
clone(): EdgeRouter<R, Context, RResponse, Schema>;
|
|
24
|
-
handler(): (request: R, context_: Context) => Promise<
|
|
25
|
+
handler(): (request: R, context_: Context) => Promise<RResponse | undefined>;
|
|
25
26
|
run(request: R, context_: Context): Promise<unknown>;
|
|
26
27
|
use(base: EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>> | RouteMatch, ...fns: (EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>>)[]): this;
|
|
27
28
|
private add;
|
|
28
|
-
private prepareRequest;
|
|
29
29
|
}
|
|
30
30
|
export declare const createEdgeRouter: <R extends Request, Context>(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, Response, Route<Nextable<FunctionLike>>[]>>) => EdgeRouter<R, Context>;
|
package/dist/index.cjs
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
4
4
|
|
|
5
|
-
const expressWrapper = require('./packem_shared/expressWrapper-
|
|
6
|
-
const withZod = require('./packem_shared/withZod-
|
|
7
|
-
const EdgeRouter = require('./packem_shared/EdgeRouter-
|
|
8
|
-
const createRouter = require('./packem_shared/createRouter-
|
|
9
|
-
const Router = require('./packem_shared/Router-
|
|
10
|
-
const sendJson = require('./packem_shared/sendJson-
|
|
5
|
+
const expressWrapper = require('./packem_shared/expressWrapper-oEj2tv9s.cjs');
|
|
6
|
+
const withZod = require('./packem_shared/withZod-hpoT0ByV.cjs');
|
|
7
|
+
const EdgeRouter = require('./packem_shared/EdgeRouter-Dx7Q5duD.cjs');
|
|
8
|
+
const createRouter = require('./packem_shared/createRouter-D-kQjdxT.cjs');
|
|
9
|
+
const Router = require('./packem_shared/Router-DMp6zIkp.cjs');
|
|
10
|
+
const sendJson = require('./packem_shared/sendJson-DjC80Qht.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { default as expressWrapper } from './packem_shared/expressWrapper-
|
|
2
|
-
export { default as withZod } from './packem_shared/withZod-
|
|
3
|
-
export { EdgeRouter, createEdgeRouter } from './packem_shared/EdgeRouter-
|
|
4
|
-
export { NodeRouter, createRouter as createNodeRouter, createRouter } from './packem_shared/createRouter-
|
|
5
|
-
export { Router } from './packem_shared/Router-
|
|
6
|
-
export { default as sendJson } from './packem_shared/sendJson-
|
|
1
|
+
export { default as expressWrapper } from './packem_shared/expressWrapper-CeTFmeNH.mjs';
|
|
2
|
+
export { default as withZod } from './packem_shared/withZod-DMHxmHJB.mjs';
|
|
3
|
+
export { EdgeRouter, createEdgeRouter } from './packem_shared/EdgeRouter-x-Px7BEe.mjs';
|
|
4
|
+
export { NodeRouter, createRouter as createNodeRouter, createRouter } from './packem_shared/createRouter-BRGcdDwj.mjs';
|
|
5
|
+
export { Router } from './packem_shared/Router-CT_g_29S.mjs';
|
|
6
|
+
export { default as sendJson } from './packem_shared/sendJson-Cd6CsJC_.mjs';
|
package/dist/node.d.cts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
|
-
import type
|
|
2
|
+
import type * as z from "zod";
|
|
3
3
|
import type { Route } from "./router.d.cts";
|
|
4
4
|
import type { FunctionLike, HandlerOptions, Nextable, RouteMatch, RoutesExtendedRequestHandler, RouteShortcutMethod, ValueOrPromise } from "./types.d.d.cts";
|
|
5
5
|
export declare const getPathname: (url: string) => string;
|
|
6
6
|
export type RequestHandler<Request extends IncomingMessage, Response extends ServerResponse> = (request: Request, response: Response) => ValueOrPromise<void>;
|
|
7
|
-
export declare class NodeRouter<Request extends IncomingMessage = IncomingMessage, Response extends ServerResponse = ServerResponse, Schema extends ZodObject<any> = ZodObject<
|
|
7
|
+
export declare class NodeRouter<Request extends IncomingMessage = IncomingMessage, Response extends ServerResponse = ServerResponse, Schema extends z.ZodObject<any> = z.ZodObject<any>> {
|
|
8
|
+
private static prepareRequest;
|
|
8
9
|
all: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
9
10
|
connect: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
10
11
|
delete: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
@@ -24,10 +25,5 @@ export declare class NodeRouter<Request extends IncomingMessage = IncomingMessag
|
|
|
24
25
|
run(request: Request, response: Response): Promise<unknown>;
|
|
25
26
|
use(base: Nextable<RequestHandler<Request, Response>> | NodeRouter<Request, Response, Schema> | RouteMatch, ...fns: (Nextable<RequestHandler<Request, Response>> | NodeRouter<Request, Response, Schema>)[]): this;
|
|
26
27
|
private add;
|
|
27
|
-
private prepareRequest;
|
|
28
28
|
}
|
|
29
|
-
export declare const createRouter: <Request extends IncomingMessage, Response extends ServerResponse, Schema extends ZodObject<any> = ZodObject<
|
|
30
|
-
body?: ZodObject<any>;
|
|
31
|
-
headers?: ZodObject<any>;
|
|
32
|
-
query?: ZodObject<any>;
|
|
33
|
-
}>>(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>) => NodeRouter<Request, Response, Schema>;
|
|
29
|
+
export declare const createRouter: <Request extends IncomingMessage, Response extends ServerResponse, Schema extends z.ZodObject<any> = z.ZodObject<any>>(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>) => NodeRouter<Request, Response, Schema>;
|
package/dist/node.d.mts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
|
-
import type
|
|
2
|
+
import type * as z from "zod";
|
|
3
3
|
import type { Route } from "./router.d.mts";
|
|
4
4
|
import type { FunctionLike, HandlerOptions, Nextable, RouteMatch, RoutesExtendedRequestHandler, RouteShortcutMethod, ValueOrPromise } from "./types.d.d.mts";
|
|
5
5
|
export declare const getPathname: (url: string) => string;
|
|
6
6
|
export type RequestHandler<Request extends IncomingMessage, Response extends ServerResponse> = (request: Request, response: Response) => ValueOrPromise<void>;
|
|
7
|
-
export declare class NodeRouter<Request extends IncomingMessage = IncomingMessage, Response extends ServerResponse = ServerResponse, Schema extends ZodObject<any> = ZodObject<
|
|
7
|
+
export declare class NodeRouter<Request extends IncomingMessage = IncomingMessage, Response extends ServerResponse = ServerResponse, Schema extends z.ZodObject<any> = z.ZodObject<any>> {
|
|
8
|
+
private static prepareRequest;
|
|
8
9
|
all: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
9
10
|
connect: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
10
11
|
delete: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
@@ -24,10 +25,5 @@ export declare class NodeRouter<Request extends IncomingMessage = IncomingMessag
|
|
|
24
25
|
run(request: Request, response: Response): Promise<unknown>;
|
|
25
26
|
use(base: Nextable<RequestHandler<Request, Response>> | NodeRouter<Request, Response, Schema> | RouteMatch, ...fns: (Nextable<RequestHandler<Request, Response>> | NodeRouter<Request, Response, Schema>)[]): this;
|
|
26
27
|
private add;
|
|
27
|
-
private prepareRequest;
|
|
28
28
|
}
|
|
29
|
-
export declare const createRouter: <Request extends IncomingMessage, Response extends ServerResponse, Schema extends ZodObject<any> = ZodObject<
|
|
30
|
-
body?: ZodObject<any>;
|
|
31
|
-
headers?: ZodObject<any>;
|
|
32
|
-
query?: ZodObject<any>;
|
|
33
|
-
}>>(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>) => NodeRouter<Request, Response, Schema>;
|
|
29
|
+
export declare const createRouter: <Request extends IncomingMessage, Response extends ServerResponse, Schema extends z.ZodObject<any> = z.ZodObject<any>>(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>) => NodeRouter<Request, Response, Schema>;
|
package/dist/node.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
|
-
import type
|
|
2
|
+
import type * as z from "zod";
|
|
3
3
|
import type { Route } from "./router.d.ts";
|
|
4
4
|
import type { FunctionLike, HandlerOptions, Nextable, RouteMatch, RoutesExtendedRequestHandler, RouteShortcutMethod, ValueOrPromise } from "./types.d.d.ts";
|
|
5
5
|
export declare const getPathname: (url: string) => string;
|
|
6
6
|
export type RequestHandler<Request extends IncomingMessage, Response extends ServerResponse> = (request: Request, response: Response) => ValueOrPromise<void>;
|
|
7
|
-
export declare class NodeRouter<Request extends IncomingMessage = IncomingMessage, Response extends ServerResponse = ServerResponse, Schema extends ZodObject<any> = ZodObject<
|
|
7
|
+
export declare class NodeRouter<Request extends IncomingMessage = IncomingMessage, Response extends ServerResponse = ServerResponse, Schema extends z.ZodObject<any> = z.ZodObject<any>> {
|
|
8
|
+
private static prepareRequest;
|
|
8
9
|
all: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
9
10
|
connect: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
10
11
|
delete: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
@@ -24,10 +25,5 @@ export declare class NodeRouter<Request extends IncomingMessage = IncomingMessag
|
|
|
24
25
|
run(request: Request, response: Response): Promise<unknown>;
|
|
25
26
|
use(base: Nextable<RequestHandler<Request, Response>> | NodeRouter<Request, Response, Schema> | RouteMatch, ...fns: (Nextable<RequestHandler<Request, Response>> | NodeRouter<Request, Response, Schema>)[]): this;
|
|
26
27
|
private add;
|
|
27
|
-
private prepareRequest;
|
|
28
28
|
}
|
|
29
|
-
export declare const createRouter: <Request extends IncomingMessage, Response extends ServerResponse, Schema extends ZodObject<any> = ZodObject<
|
|
30
|
-
body?: ZodObject<any>;
|
|
31
|
-
headers?: ZodObject<any>;
|
|
32
|
-
query?: ZodObject<any>;
|
|
33
|
-
}>>(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>) => NodeRouter<Request, Response, Schema>;
|
|
29
|
+
export declare const createRouter: <Request extends IncomingMessage, Response extends ServerResponse, Schema extends z.ZodObject<any> = z.ZodObject<any>>(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>) => NodeRouter<Request, Response, Schema>;
|
|
@@ -2,19 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
4
4
|
|
|
5
|
-
const withZod = require('./withZod-
|
|
6
|
-
const Router = require('./Router-
|
|
5
|
+
const withZod = require('./withZod-hpoT0ByV.cjs');
|
|
6
|
+
const Router = require('./Router-DMp6zIkp.cjs');
|
|
7
7
|
|
|
8
|
-
const onNoMatch =
|
|
9
|
-
const onError =
|
|
10
|
-
console.error(error);
|
|
8
|
+
const onNoMatch = (request) => new Response(request.method === "HEAD" ? void 0 : `Route ${request.method} ${request.url} not found`, { status: 404 });
|
|
9
|
+
const onError = (error) => {
|
|
10
|
+
globalThis.console.error(error);
|
|
11
11
|
return new Response("Internal Server Error", { status: 500 });
|
|
12
12
|
};
|
|
13
|
-
const getPathname = (request) => (
|
|
14
|
-
// eslint-disable-next-line compat/compat
|
|
15
|
-
(request.nextUrl ?? new URL(request.url)).pathname
|
|
16
|
-
);
|
|
13
|
+
const getPathname = (request) => (request.nextUrl ?? new URL(request.url)).pathname;
|
|
17
14
|
class EdgeRouter {
|
|
15
|
+
static prepareRequest(request, findResult) {
|
|
16
|
+
request.params = {
|
|
17
|
+
...findResult.params,
|
|
18
|
+
...request.params
|
|
19
|
+
// original params will take precedence
|
|
20
|
+
};
|
|
21
|
+
}
|
|
18
22
|
all = this.add.bind(this, "");
|
|
19
23
|
connect = this.add.bind(this, "CONNECT");
|
|
20
24
|
delete = this.add.bind(this, "DELETE");
|
|
@@ -40,8 +44,10 @@ class EdgeRouter {
|
|
|
40
44
|
handler() {
|
|
41
45
|
const { routes } = this.router;
|
|
42
46
|
return async (request, context_) => {
|
|
43
|
-
const
|
|
44
|
-
|
|
47
|
+
const pathname = getPathname(request);
|
|
48
|
+
const method = request.method;
|
|
49
|
+
const result = this.router.find(method, pathname);
|
|
50
|
+
EdgeRouter.prepareRequest(request, result);
|
|
45
51
|
try {
|
|
46
52
|
return await (result.fns.length === 0 || result.middleOnly ? this.onNoMatch(request, context_, routes) : Router.Router.exec(result.fns, request, context_));
|
|
47
53
|
} catch (error) {
|
|
@@ -50,44 +56,45 @@ class EdgeRouter {
|
|
|
50
56
|
};
|
|
51
57
|
}
|
|
52
58
|
async run(request, context_) {
|
|
53
|
-
const
|
|
59
|
+
const pathname = getPathname(request);
|
|
60
|
+
const method = request.method;
|
|
61
|
+
const result = this.router.find(method, pathname);
|
|
54
62
|
if (result.fns.length === 0) {
|
|
55
|
-
return;
|
|
63
|
+
return void 0;
|
|
56
64
|
}
|
|
57
|
-
|
|
58
|
-
return
|
|
65
|
+
EdgeRouter.prepareRequest(request, result);
|
|
66
|
+
return Router.Router.exec(result.fns, request, context_);
|
|
59
67
|
}
|
|
60
68
|
use(base, ...fns) {
|
|
69
|
+
let resolvedBase;
|
|
61
70
|
if (typeof base === "function" || base instanceof EdgeRouter) {
|
|
62
71
|
fns.unshift(base);
|
|
63
|
-
|
|
72
|
+
resolvedBase = "/";
|
|
73
|
+
} else {
|
|
74
|
+
resolvedBase = base;
|
|
64
75
|
}
|
|
65
|
-
this.router.use(
|
|
76
|
+
this.router.use(resolvedBase, ...fns.map((function_) => {
|
|
77
|
+
if (function_ instanceof EdgeRouter) {
|
|
78
|
+
return function_.router;
|
|
79
|
+
}
|
|
80
|
+
return function_;
|
|
81
|
+
}));
|
|
66
82
|
return this;
|
|
67
83
|
}
|
|
68
84
|
add(method, routeOrFunction, zodOrRouteOrFunction, ...fns) {
|
|
85
|
+
let resolvedFns;
|
|
69
86
|
if (typeof routeOrFunction === "string" && typeof zodOrRouteOrFunction === "function") {
|
|
70
|
-
|
|
87
|
+
resolvedFns = [zodOrRouteOrFunction];
|
|
71
88
|
} else if (typeof zodOrRouteOrFunction === "object") {
|
|
72
|
-
|
|
73
|
-
fns = [withZod(zodOrRouteOrFunction, routeOrFunction)];
|
|
74
|
-
} else {
|
|
75
|
-
fns = fns.map((function_) => withZod(zodOrRouteOrFunction, function_));
|
|
76
|
-
}
|
|
89
|
+
resolvedFns = typeof routeOrFunction === "function" ? [withZod(zodOrRouteOrFunction, routeOrFunction)] : fns.map((function_) => withZod(zodOrRouteOrFunction, function_));
|
|
77
90
|
} else if (typeof zodOrRouteOrFunction === "function") {
|
|
78
|
-
|
|
91
|
+
resolvedFns = [zodOrRouteOrFunction];
|
|
92
|
+
} else {
|
|
93
|
+
resolvedFns = fns;
|
|
79
94
|
}
|
|
80
|
-
this.router.add(method, routeOrFunction, ...
|
|
95
|
+
this.router.add(method, routeOrFunction, ...resolvedFns);
|
|
81
96
|
return this;
|
|
82
97
|
}
|
|
83
|
-
// eslint-disable-next-line class-methods-use-this
|
|
84
|
-
prepareRequest(request, findResult) {
|
|
85
|
-
request.params = {
|
|
86
|
-
...findResult.params,
|
|
87
|
-
...request.params
|
|
88
|
-
// original params will take precedence
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
98
|
}
|
|
92
99
|
const createEdgeRouter = (options = {}) => new EdgeRouter(options);
|
|
93
100
|
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
import withZod from './withZod-
|
|
2
|
-
import { Router } from './Router-
|
|
1
|
+
import withZod from './withZod-DMHxmHJB.mjs';
|
|
2
|
+
import { Router } from './Router-CT_g_29S.mjs';
|
|
3
3
|
|
|
4
|
-
const onNoMatch =
|
|
5
|
-
const onError =
|
|
6
|
-
console.error(error);
|
|
4
|
+
const onNoMatch = (request) => new Response(request.method === "HEAD" ? void 0 : `Route ${request.method} ${request.url} not found`, { status: 404 });
|
|
5
|
+
const onError = (error) => {
|
|
6
|
+
globalThis.console.error(error);
|
|
7
7
|
return new Response("Internal Server Error", { status: 500 });
|
|
8
8
|
};
|
|
9
|
-
const getPathname = (request) => (
|
|
10
|
-
// eslint-disable-next-line compat/compat
|
|
11
|
-
(request.nextUrl ?? new URL(request.url)).pathname
|
|
12
|
-
);
|
|
9
|
+
const getPathname = (request) => (request.nextUrl ?? new URL(request.url)).pathname;
|
|
13
10
|
class EdgeRouter {
|
|
11
|
+
static prepareRequest(request, findResult) {
|
|
12
|
+
request.params = {
|
|
13
|
+
...findResult.params,
|
|
14
|
+
...request.params
|
|
15
|
+
// original params will take precedence
|
|
16
|
+
};
|
|
17
|
+
}
|
|
14
18
|
all = this.add.bind(this, "");
|
|
15
19
|
connect = this.add.bind(this, "CONNECT");
|
|
16
20
|
delete = this.add.bind(this, "DELETE");
|
|
@@ -36,8 +40,10 @@ class EdgeRouter {
|
|
|
36
40
|
handler() {
|
|
37
41
|
const { routes } = this.router;
|
|
38
42
|
return async (request, context_) => {
|
|
39
|
-
const
|
|
40
|
-
|
|
43
|
+
const pathname = getPathname(request);
|
|
44
|
+
const method = request.method;
|
|
45
|
+
const result = this.router.find(method, pathname);
|
|
46
|
+
EdgeRouter.prepareRequest(request, result);
|
|
41
47
|
try {
|
|
42
48
|
return await (result.fns.length === 0 || result.middleOnly ? this.onNoMatch(request, context_, routes) : Router.exec(result.fns, request, context_));
|
|
43
49
|
} catch (error) {
|
|
@@ -46,44 +52,45 @@ class EdgeRouter {
|
|
|
46
52
|
};
|
|
47
53
|
}
|
|
48
54
|
async run(request, context_) {
|
|
49
|
-
const
|
|
55
|
+
const pathname = getPathname(request);
|
|
56
|
+
const method = request.method;
|
|
57
|
+
const result = this.router.find(method, pathname);
|
|
50
58
|
if (result.fns.length === 0) {
|
|
51
|
-
return;
|
|
59
|
+
return void 0;
|
|
52
60
|
}
|
|
53
|
-
|
|
54
|
-
return
|
|
61
|
+
EdgeRouter.prepareRequest(request, result);
|
|
62
|
+
return Router.exec(result.fns, request, context_);
|
|
55
63
|
}
|
|
56
64
|
use(base, ...fns) {
|
|
65
|
+
let resolvedBase;
|
|
57
66
|
if (typeof base === "function" || base instanceof EdgeRouter) {
|
|
58
67
|
fns.unshift(base);
|
|
59
|
-
|
|
68
|
+
resolvedBase = "/";
|
|
69
|
+
} else {
|
|
70
|
+
resolvedBase = base;
|
|
60
71
|
}
|
|
61
|
-
this.router.use(
|
|
72
|
+
this.router.use(resolvedBase, ...fns.map((function_) => {
|
|
73
|
+
if (function_ instanceof EdgeRouter) {
|
|
74
|
+
return function_.router;
|
|
75
|
+
}
|
|
76
|
+
return function_;
|
|
77
|
+
}));
|
|
62
78
|
return this;
|
|
63
79
|
}
|
|
64
80
|
add(method, routeOrFunction, zodOrRouteOrFunction, ...fns) {
|
|
81
|
+
let resolvedFns;
|
|
65
82
|
if (typeof routeOrFunction === "string" && typeof zodOrRouteOrFunction === "function") {
|
|
66
|
-
|
|
83
|
+
resolvedFns = [zodOrRouteOrFunction];
|
|
67
84
|
} else if (typeof zodOrRouteOrFunction === "object") {
|
|
68
|
-
|
|
69
|
-
fns = [withZod(zodOrRouteOrFunction, routeOrFunction)];
|
|
70
|
-
} else {
|
|
71
|
-
fns = fns.map((function_) => withZod(zodOrRouteOrFunction, function_));
|
|
72
|
-
}
|
|
85
|
+
resolvedFns = typeof routeOrFunction === "function" ? [withZod(zodOrRouteOrFunction, routeOrFunction)] : fns.map((function_) => withZod(zodOrRouteOrFunction, function_));
|
|
73
86
|
} else if (typeof zodOrRouteOrFunction === "function") {
|
|
74
|
-
|
|
87
|
+
resolvedFns = [zodOrRouteOrFunction];
|
|
88
|
+
} else {
|
|
89
|
+
resolvedFns = fns;
|
|
75
90
|
}
|
|
76
|
-
this.router.add(method, routeOrFunction, ...
|
|
91
|
+
this.router.add(method, routeOrFunction, ...resolvedFns);
|
|
77
92
|
return this;
|
|
78
93
|
}
|
|
79
|
-
// eslint-disable-next-line class-methods-use-this
|
|
80
|
-
prepareRequest(request, findResult) {
|
|
81
|
-
request.params = {
|
|
82
|
-
...findResult.params,
|
|
83
|
-
...request.params
|
|
84
|
-
// original params will take precedence
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
94
|
}
|
|
88
95
|
const createEdgeRouter = (options = {}) => new EdgeRouter(options);
|
|
89
96
|
|