@visulima/connect 4.0.0-alpha.6 → 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.
Files changed (39) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/adapter/express.d.cts +1 -1
  3. package/dist/adapter/express.d.mts +1 -1
  4. package/dist/adapter/express.d.ts +1 -1
  5. package/dist/adapter/with-zod.d.cts +3 -7
  6. package/dist/adapter/with-zod.d.mts +3 -7
  7. package/dist/adapter/with-zod.d.ts +3 -7
  8. package/dist/edge.d.cts +5 -5
  9. package/dist/edge.d.mts +5 -5
  10. package/dist/edge.d.ts +5 -5
  11. package/dist/index.cjs +6 -6
  12. package/dist/index.mjs +6 -6
  13. package/dist/node.d.cts +4 -8
  14. package/dist/node.d.mts +4 -8
  15. package/dist/node.d.ts +4 -8
  16. package/dist/packem_shared/{EdgeRouter-B-e2l9un.cjs → EdgeRouter-Dx7Q5duD.cjs} +40 -33
  17. package/dist/packem_shared/{EdgeRouter-CdtQHTwm.mjs → EdgeRouter-x-Px7BEe.mjs} +40 -33
  18. package/dist/packem_shared/Router-CT_g_29S.mjs +168 -0
  19. package/dist/packem_shared/Router-DMp6zIkp.cjs +172 -0
  20. package/dist/packem_shared/{createRouter-_G1XhaP4.mjs → createRouter-BRGcdDwj.mjs} +40 -32
  21. package/dist/packem_shared/{createRouter-C8hDVJcV.cjs → createRouter-D-kQjdxT.cjs} +40 -32
  22. package/dist/packem_shared/expressWrapper-CeTFmeNH.mjs +14 -0
  23. package/dist/packem_shared/expressWrapper-oEj2tv9s.cjs +16 -0
  24. package/dist/packem_shared/{sendJson-DwLYLDbt.mjs → sendJson-Cd6CsJC_.mjs} +1 -1
  25. package/dist/packem_shared/{sendJson-pJY2tT2n.cjs → sendJson-DjC80Qht.cjs} +1 -1
  26. package/dist/packem_shared/{withZod-HYgoC7AX.mjs → withZod-DMHxmHJB.mjs} +3 -6
  27. package/dist/packem_shared/withZod-hpoT0ByV.cjs +34 -0
  28. package/dist/router.d.cts +6 -1
  29. package/dist/router.d.mts +6 -1
  30. package/dist/router.d.ts +6 -1
  31. package/dist/utils/send-json.d.cts +4 -4
  32. package/dist/utils/send-json.d.mts +4 -4
  33. package/dist/utils/send-json.d.ts +4 -4
  34. package/package.json +2 -3
  35. package/dist/packem_shared/Router-ChnTdYfl.mjs +0 -135
  36. package/dist/packem_shared/Router-Eg_OPxIL.cjs +0 -139
  37. package/dist/packem_shared/expressWrapper-CTExfWvM.cjs +0 -10
  38. package/dist/packem_shared/expressWrapper-spfs58is.mjs +0 -8
  39. package/dist/packem_shared/withZod-ULTsdyM5.cjs +0 -24
package/CHANGELOG.md CHANGED
@@ -1,3 +1,28 @@
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
+
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)
17
+
18
+ ### Features
19
+
20
+ * **web:** auto-generate packages page from workspace metadata ([623e520](https://github.com/visulima/visulima/commit/623e5207693a7fe720f5f2f179593a3654c880e3))
21
+
22
+ ### Miscellaneous Chores
23
+
24
+ * update homepage URLs to visulima.com/packages/ format ([be42968](https://github.com/visulima/visulima/commit/be42968129df85fb074224435e33135ff44cab91))
25
+
1
26
  ## @visulima/connect [4.0.0-alpha.6](https://github.com/visulima/visulima/compare/@visulima/connect@4.0.0-alpha.5...@visulima/connect@4.0.0-alpha.6) (2026-03-26)
2
27
 
3
28
  ### Bug Fixes
@@ -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?: any) => void;
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?: any) => void;
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?: any) => void;
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 type { ZodObject } from "zod";
2
- import type { Nextable, NextHandler } from "../types.d.d.cts";
3
- declare const withZod: <Request, Response, Handler extends Nextable<any>, Schema extends ZodObject<{
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 type { ZodObject } from "zod";
2
- import type { Nextable, NextHandler } from "../types.d.d.mts";
3
- declare const withZod: <Request, Response, Handler extends Nextable<any>, Schema extends ZodObject<{
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 type { ZodObject } from "zod";
2
- import type { Nextable, NextHandler } from "../types.d.d.ts";
3
- declare const withZod: <Request, Response, Handler extends Nextable<any>, Schema extends ZodObject<{
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 { ZodObject } from "zod";
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 | void>;
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<any> | ReturnType<FunctionLike> | ValueOrPromise<RResponse>;
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 { ZodObject } from "zod";
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 | void>;
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<any> | ReturnType<FunctionLike> | ValueOrPromise<RResponse>;
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 { ZodObject } from "zod";
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 | void>;
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<any> | ReturnType<FunctionLike> | ValueOrPromise<RResponse>;
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-CTExfWvM.cjs');
6
- const withZod = require('./packem_shared/withZod-ULTsdyM5.cjs');
7
- const EdgeRouter = require('./packem_shared/EdgeRouter-B-e2l9un.cjs');
8
- const createRouter = require('./packem_shared/createRouter-C8hDVJcV.cjs');
9
- const Router = require('./packem_shared/Router-Eg_OPxIL.cjs');
10
- const sendJson = require('./packem_shared/sendJson-pJY2tT2n.cjs');
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-spfs58is.mjs';
2
- export { default as withZod } from './packem_shared/withZod-HYgoC7AX.mjs';
3
- export { EdgeRouter, createEdgeRouter } from './packem_shared/EdgeRouter-CdtQHTwm.mjs';
4
- export { NodeRouter, createRouter as createNodeRouter, createRouter } from './packem_shared/createRouter-_G1XhaP4.mjs';
5
- export { Router } from './packem_shared/Router-ChnTdYfl.mjs';
6
- export { default as sendJson } from './packem_shared/sendJson-DwLYLDbt.mjs';
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 { ZodObject } from "zod";
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<never>> {
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 { ZodObject } from "zod";
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<never>> {
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 { ZodObject } from "zod";
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<never>> {
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-ULTsdyM5.cjs');
6
- const Router = require('./Router-Eg_OPxIL.cjs');
5
+ const withZod = require('./withZod-hpoT0ByV.cjs');
6
+ const Router = require('./Router-DMp6zIkp.cjs');
7
7
 
8
- const onNoMatch = async (request) => new Response(request.method === "HEAD" ? null : `Route ${request.method} ${request.url} not found`, { status: 404 });
9
- const onError = async (error) => {
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 result = this.router.find(request.method, getPathname(request));
44
- this.prepareRequest(request, result);
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 result = this.router.find(request.method, getPathname(request));
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
- this.prepareRequest(request, result);
58
- return await Router.Router.exec(result.fns, request, context_);
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
- base = "/";
72
+ resolvedBase = "/";
73
+ } else {
74
+ resolvedBase = base;
64
75
  }
65
- this.router.use(base, ...fns.map((function_) => function_ instanceof EdgeRouter ? function_.router : function_));
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
- fns = [zodOrRouteOrFunction];
87
+ resolvedFns = [zodOrRouteOrFunction];
71
88
  } else if (typeof zodOrRouteOrFunction === "object") {
72
- if (typeof routeOrFunction === "function") {
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
- fns = [zodOrRouteOrFunction];
91
+ resolvedFns = [zodOrRouteOrFunction];
92
+ } else {
93
+ resolvedFns = fns;
79
94
  }
80
- this.router.add(method, routeOrFunction, ...fns);
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-HYgoC7AX.mjs';
2
- import { Router } from './Router-ChnTdYfl.mjs';
1
+ import withZod from './withZod-DMHxmHJB.mjs';
2
+ import { Router } from './Router-CT_g_29S.mjs';
3
3
 
4
- const onNoMatch = async (request) => new Response(request.method === "HEAD" ? null : `Route ${request.method} ${request.url} not found`, { status: 404 });
5
- const onError = async (error) => {
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 result = this.router.find(request.method, getPathname(request));
40
- this.prepareRequest(request, result);
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 result = this.router.find(request.method, getPathname(request));
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
- this.prepareRequest(request, result);
54
- return await Router.exec(result.fns, request, context_);
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
- base = "/";
68
+ resolvedBase = "/";
69
+ } else {
70
+ resolvedBase = base;
60
71
  }
61
- this.router.use(base, ...fns.map((function_) => function_ instanceof EdgeRouter ? function_.router : function_));
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
- fns = [zodOrRouteOrFunction];
83
+ resolvedFns = [zodOrRouteOrFunction];
67
84
  } else if (typeof zodOrRouteOrFunction === "object") {
68
- if (typeof routeOrFunction === "function") {
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
- fns = [zodOrRouteOrFunction];
87
+ resolvedFns = [zodOrRouteOrFunction];
88
+ } else {
89
+ resolvedFns = fns;
75
90
  }
76
- this.router.add(method, routeOrFunction, ...fns);
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