@visulima/connect 3.0.24 → 3.0.26

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 (49) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/adapter/express.d.cts +7 -0
  3. package/dist/adapter/express.d.mts +7 -0
  4. package/dist/adapter/express.d.ts +7 -0
  5. package/dist/adapter/with-zod.d.cts +8 -0
  6. package/dist/adapter/with-zod.d.mts +8 -0
  7. package/dist/adapter/with-zod.d.ts +8 -0
  8. package/dist/edge.d.cts +30 -0
  9. package/dist/edge.d.mts +30 -0
  10. package/dist/edge.d.ts +30 -0
  11. package/dist/index.cjs +22 -1
  12. package/dist/index.d.cts +12 -128
  13. package/dist/index.d.mts +12 -128
  14. package/dist/index.d.ts +12 -128
  15. package/dist/index.mjs +6 -1
  16. package/dist/node.d.cts +33 -0
  17. package/dist/node.d.mts +33 -0
  18. package/dist/node.d.ts +33 -0
  19. package/dist/packem_shared/EdgeRouter-B-e2l9un.cjs +96 -0
  20. package/dist/packem_shared/EdgeRouter-CdtQHTwm.mjs +90 -0
  21. package/dist/packem_shared/Router-ChnTdYfl.mjs +135 -0
  22. package/dist/packem_shared/Router-Eg_OPxIL.cjs +139 -0
  23. package/dist/packem_shared/createRouter-C8hDVJcV.cjs +102 -0
  24. package/dist/packem_shared/createRouter-_G1XhaP4.mjs +96 -0
  25. package/dist/packem_shared/expressWrapper-CTExfWvM.cjs +10 -0
  26. package/dist/packem_shared/expressWrapper-spfs58is.mjs +8 -0
  27. package/dist/packem_shared/sendJson-DwLYLDbt.mjs +7 -0
  28. package/dist/packem_shared/sendJson-pJY2tT2n.cjs +9 -0
  29. package/dist/packem_shared/withZod-HYgoC7AX.mjs +18 -0
  30. package/dist/packem_shared/withZod-ULTsdyM5.cjs +24 -0
  31. package/dist/router.d.cts +21 -0
  32. package/dist/router.d.mts +21 -0
  33. package/dist/router.d.ts +21 -0
  34. package/dist/utils/send-json.d.cts +9 -0
  35. package/dist/utils/send-json.d.mts +9 -0
  36. package/dist/utils/send-json.d.ts +9 -0
  37. package/package.json +1 -1
  38. package/dist/packem_shared/EdgeRouter-DkYqae6k.mjs +0 -1
  39. package/dist/packem_shared/EdgeRouter-KIBlNPX3.cjs +0 -1
  40. package/dist/packem_shared/Router-Dg3J0bWq.mjs +0 -1
  41. package/dist/packem_shared/Router-fcD22mVn.cjs +0 -1
  42. package/dist/packem_shared/createRouter-Bp84h_yy.mjs +0 -1
  43. package/dist/packem_shared/createRouter-CcKo5sWT.cjs +0 -1
  44. package/dist/packem_shared/expressWrapper-CnZ-5oTw.cjs +0 -1
  45. package/dist/packem_shared/expressWrapper-D-d31tgs.mjs +0 -1
  46. package/dist/packem_shared/sendJson-l4jM19lK.cjs +0 -1
  47. package/dist/packem_shared/sendJson-zUtTFUYn.mjs +0 -1
  48. package/dist/packem_shared/withZod-CvygheEk.cjs +0 -1
  49. package/dist/packem_shared/withZod-wmNwBerD.mjs +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,24 @@
1
+ ## @visulima/connect [3.0.26](https://github.com/visulima/visulima/compare/@visulima/connect@3.0.25...@visulima/connect@3.0.26) (2025-11-12)
2
+
3
+ ### Bug Fixes
4
+
5
+ * update package configurations and TypeScript definitions ([b59aa59](https://github.com/visulima/visulima/commit/b59aa59dac1508216b944f4b917fb4a7ab1f70a4))
6
+
7
+ ### Miscellaneous Chores
8
+
9
+ * Add jsr file to all packages for release ([#565](https://github.com/visulima/visulima/issues/565)) ([ec91652](https://github.com/visulima/visulima/commit/ec91652b4e4112adf14ba152c1239a7703ba425a))
10
+ * update license files and clean up TypeScript definitions ([fe668cc](https://github.com/visulima/visulima/commit/fe668cc26de23591d4df54a0954455ebbe31b22d))
11
+
12
+ ## @visulima/connect [3.0.25](https://github.com/visulima/visulima/compare/@visulima/connect@3.0.24...@visulima/connect@3.0.25) (2025-11-07)
13
+
14
+ ### Bug Fixes
15
+
16
+ * update TypeScript configurations and improve linting across multiple packages ([6f25ec7](https://github.com/visulima/visulima/commit/6f25ec7841da7246f8f9166efc5292a7089d37ee))
17
+
18
+ ### Miscellaneous Chores
19
+
20
+ * update npm and pnpm configurations for monorepo optimization ([#564](https://github.com/visulima/visulima/issues/564)) ([5512b42](https://github.com/visulima/visulima/commit/5512b42f672c216b6a3c9e39035199a4ebd9a4b8))
21
+
1
22
  ## @visulima/connect [3.0.24](https://github.com/visulima/visulima/compare/@visulima/connect@3.0.23...@visulima/connect@3.0.24) (2025-11-05)
2
23
 
3
24
  ### Bug Fixes
@@ -0,0 +1,7 @@
1
+ import type { IncomingMessage, ServerResponse } from "node:http";
2
+ import type { RequestHandler } from "../node.d.cts";
3
+ import type { Nextable } from "../types.d.d.cts";
4
+ type NextFunction = (error?: any) => void;
5
+ declare const expressWrapper: <Request extends IncomingMessage, Response extends ServerResponse>(function_: ExpressRequestHandler<Request, Response>) => Nextable<RequestHandler<Request, Response>>;
6
+ export type ExpressRequestHandler<Request, Response> = (request: Request, response: Response, next: NextFunction) => void;
7
+ export = expressWrapper;
@@ -0,0 +1,7 @@
1
+ import type { IncomingMessage, ServerResponse } from "node:http";
2
+ import type { RequestHandler } from "../node.d.mts";
3
+ import type { Nextable } from "../types.d.d.mts";
4
+ type NextFunction = (error?: any) => void;
5
+ declare const expressWrapper: <Request extends IncomingMessage, Response extends ServerResponse>(function_: ExpressRequestHandler<Request, Response>) => Nextable<RequestHandler<Request, Response>>;
6
+ export type ExpressRequestHandler<Request, Response> = (request: Request, response: Response, next: NextFunction) => void;
7
+ export default expressWrapper;
@@ -0,0 +1,7 @@
1
+ import type { IncomingMessage, ServerResponse } from "node:http";
2
+ import type { RequestHandler } from "../node.d.ts";
3
+ import type { Nextable } from "../types.d.d.ts";
4
+ type NextFunction = (error?: any) => void;
5
+ declare const expressWrapper: <Request extends IncomingMessage, Response extends ServerResponse>(function_: ExpressRequestHandler<Request, Response>) => Nextable<RequestHandler<Request, Response>>;
6
+ export type ExpressRequestHandler<Request, Response> = (request: Request, response: Response, next: NextFunction) => void;
7
+ export = expressWrapper;
@@ -0,0 +1,8 @@
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>;
8
+ export = withZod;
@@ -0,0 +1,8 @@
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>;
8
+ export default withZod;
@@ -0,0 +1,8 @@
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>;
8
+ export = withZod;
@@ -0,0 +1,30 @@
1
+ import type { ZodObject } from "zod";
2
+ import type { Route } from "./router.d.cts";
3
+ import type { FunctionLike, HandlerOptions, Nextable, RouteMatch, RoutesExtendedRequestHandler, RouteShortcutMethod, ValueOrPromise } from "./types.d.d.cts";
4
+ export declare const getPathname: (request: Request & {
5
+ nextUrl?: URL;
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>> {
9
+ all: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
10
+ connect: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
11
+ delete: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
12
+ get: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
13
+ head: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
14
+ options: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
15
+ patch: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
16
+ post: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
17
+ put: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
18
+ trace: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
19
+ private readonly onError;
20
+ private readonly onNoMatch;
21
+ private router;
22
+ constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, RResponse, Route<Nextable<FunctionLike>>[]>>);
23
+ clone(): EdgeRouter<R, Context, RResponse, Schema>;
24
+ handler(): (request: R, context_: Context) => Promise<any> | ReturnType<FunctionLike> | ValueOrPromise<RResponse>;
25
+ run(request: R, context_: Context): Promise<unknown>;
26
+ use(base: EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>> | RouteMatch, ...fns: (EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>>)[]): this;
27
+ private add;
28
+ private prepareRequest;
29
+ }
30
+ export declare const createEdgeRouter: <R extends Request, Context>(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, Response, Route<Nextable<FunctionLike>>[]>>) => EdgeRouter<R, Context>;
@@ -0,0 +1,30 @@
1
+ import type { ZodObject } from "zod";
2
+ import type { Route } from "./router.d.mts";
3
+ import type { FunctionLike, HandlerOptions, Nextable, RouteMatch, RoutesExtendedRequestHandler, RouteShortcutMethod, ValueOrPromise } from "./types.d.d.mts";
4
+ export declare const getPathname: (request: Request & {
5
+ nextUrl?: URL;
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>> {
9
+ all: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
10
+ connect: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
11
+ delete: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
12
+ get: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
13
+ head: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
14
+ options: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
15
+ patch: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
16
+ post: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
17
+ put: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
18
+ trace: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
19
+ private readonly onError;
20
+ private readonly onNoMatch;
21
+ private router;
22
+ constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, RResponse, Route<Nextable<FunctionLike>>[]>>);
23
+ clone(): EdgeRouter<R, Context, RResponse, Schema>;
24
+ handler(): (request: R, context_: Context) => Promise<any> | ReturnType<FunctionLike> | ValueOrPromise<RResponse>;
25
+ run(request: R, context_: Context): Promise<unknown>;
26
+ use(base: EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>> | RouteMatch, ...fns: (EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>>)[]): this;
27
+ private add;
28
+ private prepareRequest;
29
+ }
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 ADDED
@@ -0,0 +1,30 @@
1
+ import type { ZodObject } from "zod";
2
+ import type { Route } from "./router.d.ts";
3
+ import type { FunctionLike, HandlerOptions, Nextable, RouteMatch, RoutesExtendedRequestHandler, RouteShortcutMethod, ValueOrPromise } from "./types.d.d.ts";
4
+ export declare const getPathname: (request: Request & {
5
+ nextUrl?: URL;
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>> {
9
+ all: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
10
+ connect: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
11
+ delete: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
12
+ get: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
13
+ head: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
14
+ options: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
15
+ patch: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
16
+ post: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
17
+ put: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
18
+ trace: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
19
+ private readonly onError;
20
+ private readonly onNoMatch;
21
+ private router;
22
+ constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, RResponse, Route<Nextable<FunctionLike>>[]>>);
23
+ clone(): EdgeRouter<R, Context, RResponse, Schema>;
24
+ handler(): (request: R, context_: Context) => Promise<any> | ReturnType<FunctionLike> | ValueOrPromise<RResponse>;
25
+ run(request: R, context_: Context): Promise<unknown>;
26
+ use(base: EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>> | RouteMatch, ...fns: (EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>>)[]): this;
27
+ private add;
28
+ private prepareRequest;
29
+ }
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
@@ -1 +1,22 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("./packem_shared/expressWrapper-CnZ-5oTw.cjs"),o=require("./packem_shared/withZod-CvygheEk.cjs"),r=require("./packem_shared/EdgeRouter-KIBlNPX3.cjs"),e=require("./packem_shared/createRouter-CcKo5sWT.cjs"),u=require("./packem_shared/Router-fcD22mVn.cjs"),d=require("./packem_shared/sendJson-l4jM19lK.cjs");exports.expressWrapper=t;exports.withZod=o;exports.EdgeRouter=r.EdgeRouter;exports.createEdgeRouter=r.createEdgeRouter;exports.NodeRouter=e.NodeRouter;exports.createNodeRouter=e.createRouter;exports.createRouter=e.createRouter;exports.Router=u.Router;exports.sendJson=d;
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
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');
11
+
12
+
13
+
14
+ exports.expressWrapper = expressWrapper;
15
+ exports.withZod = withZod;
16
+ exports.EdgeRouter = EdgeRouter.EdgeRouter;
17
+ exports.createEdgeRouter = EdgeRouter.createEdgeRouter;
18
+ exports.NodeRouter = createRouter.NodeRouter;
19
+ exports.createNodeRouter = createRouter.createRouter;
20
+ exports.createRouter = createRouter.createRouter;
21
+ exports.Router = Router.Router;
22
+ exports.sendJson = sendJson;
package/dist/index.d.cts CHANGED
@@ -1,128 +1,12 @@
1
- import { IncomingMessage, ServerResponse } from 'node:http';
2
- import { AnyZodObject, ZodObject } from 'zod';
3
-
4
- type HttpMethod = "CONNECT" | "DELETE" | "GET" | "HEAD" | "OPTIONS" | "PATCH" | "POST" | "PUT" | "TRACE";
5
-
6
- type FunctionLike = (...arguments_: any[]) => any;
7
-
8
- type RouteMatch = RegExp | string;
9
-
10
- type ValueOrPromise<T> = Promise<T> | T;
11
-
12
- type NextHandler = () => ValueOrPromise<any>;
13
-
14
- type Nextable<H extends FunctionLike> = (...arguments_: [...Parameters<H>, NextHandler]) => ValueOrPromise<any>;
15
-
16
- interface FindResult<H extends FunctionLike> {
17
- fns: Nextable<H>[];
18
- middleOnly: boolean;
19
- params: Record<string, string>;
20
- }
21
-
22
- type RoutesExtendedRequestHandler<Request extends object, Context, RResponse, Routes> = (
23
- request: Request,
24
- response: Context,
25
- routes: Routes,
26
- // eslint-disable-next-line @typescript-eslint/no-invalid-void-type
27
- ) => ValueOrPromise<RResponse | void>;
28
-
29
- interface HandlerOptions<Handler extends FunctionLike> {
30
- onError?: (error: unknown, ...arguments_: Parameters<Handler>) => ReturnType<Handler>;
31
- onNoMatch?: Handler;
32
- }
33
-
34
- type RouteShortcutMethod<This, Schema extends AnyZodObject, H extends FunctionLike> = (
35
- route: Nextable<H> | RouteMatch,
36
- zodSchemaOrRouteOrFns?: Nextable<H> | RouteMatch | Schema | string,
37
- ...fns: Nextable<H>[]
38
- ) => This;
39
-
40
- type Route<H> = {
41
- fns: (H | Router<H extends FunctionLike ? H : never>)[];
42
- isMiddleware: boolean;
43
- method: HttpMethod | "";
44
- } & ({
45
- keys: string[] | false;
46
- pattern: RegExp;
47
- } | {
48
- matchAll: true;
49
- });
50
- declare class Router<H extends FunctionLike> {
51
- base: string;
52
- routes: Route<Nextable<H>>[];
53
- static exec<FL extends FunctionLike>(fns: (Nextable<FL> | undefined)[], ...arguments_: Parameters<FL>): Promise<any>;
54
- constructor(base?: string, routes?: Route<Nextable<H>>[]);
55
- add(method: HttpMethod | "", route: Nextable<H> | RouteMatch, ...fns: Nextable<H>[]): this;
56
- clone(base?: string): Router<H>;
57
- find(method: HttpMethod, pathname: string): FindResult<H>;
58
- use(base: Nextable<H> | RouteMatch | Router<H>, ...fns: (Nextable<H> | Router<H>)[]): this;
59
- }
60
-
61
- type RequestHandler$1<Request extends IncomingMessage, Response extends ServerResponse> = (request: Request, response: Response) => ValueOrPromise<void>;
62
- declare class NodeRouter<Request extends IncomingMessage = IncomingMessage, Response extends ServerResponse = ServerResponse, Schema extends AnyZodObject = ZodObject<never>> {
63
- all: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
64
- connect: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
65
- delete: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
66
- get: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
67
- head: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
68
- options: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
69
- patch: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
70
- post: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
71
- put: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
72
- trace: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
73
- private readonly onError;
74
- private readonly onNoMatch;
75
- private router;
76
- constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>);
77
- clone(): NodeRouter<Request, Response, Schema>;
78
- handler(): (request: Request, response: Response) => Promise<void>;
79
- run(request: Request, response: Response): Promise<unknown>;
80
- use(base: Nextable<RequestHandler$1<Request, Response>> | NodeRouter<Request, Response, Schema> | RouteMatch, ...fns: (Nextable<RequestHandler$1<Request, Response>> | NodeRouter<Request, Response, Schema>)[]): this;
81
- private add;
82
- private prepareRequest;
83
- }
84
- declare const createRouter: <Request extends IncomingMessage, Response extends ServerResponse, Schema extends AnyZodObject = ZodObject<{
85
- body?: AnyZodObject;
86
- headers?: AnyZodObject;
87
- query?: AnyZodObject;
88
- }>>(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>) => NodeRouter<Request, Response, Schema>;
89
-
90
- type NextFunction = (error?: any) => void;
91
- declare const expressWrapper: <Request extends IncomingMessage, Response extends ServerResponse>(function_: ExpressRequestHandler<Request, Response>) => Nextable<RequestHandler$1<Request, Response>>;
92
- type ExpressRequestHandler<Request, Response> = (request: Request, response: Response, next: NextFunction) => void;
93
-
94
- declare const withZod: <Request, Response, Handler extends Nextable<any>, Schema extends ZodObject<{
95
- body?: AnyZodObject;
96
- headers?: AnyZodObject;
97
- query?: AnyZodObject;
98
- }>>(schema: Schema, handler: Handler) => (request: Request, response: Response, next: NextHandler) => Promise<Response>;
99
-
100
- type RequestHandler<R extends Request, Context> = (request: R, context_: Context) => ValueOrPromise<Response | void>;
101
- declare class EdgeRouter<R extends Request = Request, Context = unknown, RResponse extends Response = Response, Schema extends AnyZodObject = ZodObject<any>> {
102
- all: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
103
- connect: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
104
- delete: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
105
- get: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
106
- head: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
107
- options: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
108
- patch: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
109
- post: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
110
- put: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
111
- trace: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
112
- private readonly onError;
113
- private readonly onNoMatch;
114
- private router;
115
- constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, RResponse, Route<Nextable<FunctionLike>>[]>>);
116
- clone(): EdgeRouter<R, Context, RResponse, Schema>;
117
- handler(): (request: R, context_: Context) => Promise<any> | ReturnType<FunctionLike> | ValueOrPromise<RResponse>;
118
- run(request: R, context_: Context): Promise<unknown>;
119
- use(base: EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>> | RouteMatch, ...fns: (EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>>)[]): this;
120
- private add;
121
- private prepareRequest;
122
- }
123
- declare const createEdgeRouter: <R extends Request, Context>(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, Response, Route<Nextable<FunctionLike>>[]>>) => EdgeRouter<R, Context>;
124
-
125
- declare const sendJson: (response: ServerResponse, statusCode: number, jsonBody: unknown) => void;
126
-
127
- export { EdgeRouter, NodeRouter, Router, createEdgeRouter, createRouter as createNodeRouter, createRouter, expressWrapper, sendJson, withZod };
128
- export type { RequestHandler as EdgeRequestHandler, ExpressRequestHandler, FindResult, FunctionLike, HandlerOptions, HttpMethod, NextHandler, Nextable, RequestHandler$1 as NodeRequestHandler, Route, RouteShortcutMethod, ValueOrPromise };
1
+ export type { ExpressRequestHandler } from "./adapter/express.d.cts";
2
+ export { default as expressWrapper } from "./adapter/express.d.cts";
3
+ export { default as withZod } from "./adapter/with-zod.d.cts";
4
+ export type { RequestHandler as EdgeRequestHandler } from "./edge.d.cts";
5
+ export { createEdgeRouter, EdgeRouter } from "./edge.d.cts";
6
+ export type { RequestHandler as NodeRequestHandler } from "./node.d.cts";
7
+ export { createRouter } from "./node.d.cts";
8
+ export { createRouter as createNodeRouter, NodeRouter } from "./node.d.cts";
9
+ export type { Route } from "./router.d.cts";
10
+ export { Router } from "./router.d.cts";
11
+ export type { FindResult, FunctionLike, HandlerOptions, HttpMethod, Nextable, NextHandler, RouteShortcutMethod, ValueOrPromise } from "./types.d.d.cts";
12
+ export { default as sendJson } from "./utils/send-json.d.cts";
package/dist/index.d.mts CHANGED
@@ -1,128 +1,12 @@
1
- import { IncomingMessage, ServerResponse } from 'node:http';
2
- import { AnyZodObject, ZodObject } from 'zod';
3
-
4
- type HttpMethod = "CONNECT" | "DELETE" | "GET" | "HEAD" | "OPTIONS" | "PATCH" | "POST" | "PUT" | "TRACE";
5
-
6
- type FunctionLike = (...arguments_: any[]) => any;
7
-
8
- type RouteMatch = RegExp | string;
9
-
10
- type ValueOrPromise<T> = Promise<T> | T;
11
-
12
- type NextHandler = () => ValueOrPromise<any>;
13
-
14
- type Nextable<H extends FunctionLike> = (...arguments_: [...Parameters<H>, NextHandler]) => ValueOrPromise<any>;
15
-
16
- interface FindResult<H extends FunctionLike> {
17
- fns: Nextable<H>[];
18
- middleOnly: boolean;
19
- params: Record<string, string>;
20
- }
21
-
22
- type RoutesExtendedRequestHandler<Request extends object, Context, RResponse, Routes> = (
23
- request: Request,
24
- response: Context,
25
- routes: Routes,
26
- // eslint-disable-next-line @typescript-eslint/no-invalid-void-type
27
- ) => ValueOrPromise<RResponse | void>;
28
-
29
- interface HandlerOptions<Handler extends FunctionLike> {
30
- onError?: (error: unknown, ...arguments_: Parameters<Handler>) => ReturnType<Handler>;
31
- onNoMatch?: Handler;
32
- }
33
-
34
- type RouteShortcutMethod<This, Schema extends AnyZodObject, H extends FunctionLike> = (
35
- route: Nextable<H> | RouteMatch,
36
- zodSchemaOrRouteOrFns?: Nextable<H> | RouteMatch | Schema | string,
37
- ...fns: Nextable<H>[]
38
- ) => This;
39
-
40
- type Route<H> = {
41
- fns: (H | Router<H extends FunctionLike ? H : never>)[];
42
- isMiddleware: boolean;
43
- method: HttpMethod | "";
44
- } & ({
45
- keys: string[] | false;
46
- pattern: RegExp;
47
- } | {
48
- matchAll: true;
49
- });
50
- declare class Router<H extends FunctionLike> {
51
- base: string;
52
- routes: Route<Nextable<H>>[];
53
- static exec<FL extends FunctionLike>(fns: (Nextable<FL> | undefined)[], ...arguments_: Parameters<FL>): Promise<any>;
54
- constructor(base?: string, routes?: Route<Nextable<H>>[]);
55
- add(method: HttpMethod | "", route: Nextable<H> | RouteMatch, ...fns: Nextable<H>[]): this;
56
- clone(base?: string): Router<H>;
57
- find(method: HttpMethod, pathname: string): FindResult<H>;
58
- use(base: Nextable<H> | RouteMatch | Router<H>, ...fns: (Nextable<H> | Router<H>)[]): this;
59
- }
60
-
61
- type RequestHandler$1<Request extends IncomingMessage, Response extends ServerResponse> = (request: Request, response: Response) => ValueOrPromise<void>;
62
- declare class NodeRouter<Request extends IncomingMessage = IncomingMessage, Response extends ServerResponse = ServerResponse, Schema extends AnyZodObject = ZodObject<never>> {
63
- all: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
64
- connect: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
65
- delete: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
66
- get: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
67
- head: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
68
- options: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
69
- patch: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
70
- post: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
71
- put: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
72
- trace: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
73
- private readonly onError;
74
- private readonly onNoMatch;
75
- private router;
76
- constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>);
77
- clone(): NodeRouter<Request, Response, Schema>;
78
- handler(): (request: Request, response: Response) => Promise<void>;
79
- run(request: Request, response: Response): Promise<unknown>;
80
- use(base: Nextable<RequestHandler$1<Request, Response>> | NodeRouter<Request, Response, Schema> | RouteMatch, ...fns: (Nextable<RequestHandler$1<Request, Response>> | NodeRouter<Request, Response, Schema>)[]): this;
81
- private add;
82
- private prepareRequest;
83
- }
84
- declare const createRouter: <Request extends IncomingMessage, Response extends ServerResponse, Schema extends AnyZodObject = ZodObject<{
85
- body?: AnyZodObject;
86
- headers?: AnyZodObject;
87
- query?: AnyZodObject;
88
- }>>(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>) => NodeRouter<Request, Response, Schema>;
89
-
90
- type NextFunction = (error?: any) => void;
91
- declare const expressWrapper: <Request extends IncomingMessage, Response extends ServerResponse>(function_: ExpressRequestHandler<Request, Response>) => Nextable<RequestHandler$1<Request, Response>>;
92
- type ExpressRequestHandler<Request, Response> = (request: Request, response: Response, next: NextFunction) => void;
93
-
94
- declare const withZod: <Request, Response, Handler extends Nextable<any>, Schema extends ZodObject<{
95
- body?: AnyZodObject;
96
- headers?: AnyZodObject;
97
- query?: AnyZodObject;
98
- }>>(schema: Schema, handler: Handler) => (request: Request, response: Response, next: NextHandler) => Promise<Response>;
99
-
100
- type RequestHandler<R extends Request, Context> = (request: R, context_: Context) => ValueOrPromise<Response | void>;
101
- declare class EdgeRouter<R extends Request = Request, Context = unknown, RResponse extends Response = Response, Schema extends AnyZodObject = ZodObject<any>> {
102
- all: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
103
- connect: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
104
- delete: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
105
- get: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
106
- head: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
107
- options: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
108
- patch: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
109
- post: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
110
- put: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
111
- trace: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
112
- private readonly onError;
113
- private readonly onNoMatch;
114
- private router;
115
- constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, RResponse, Route<Nextable<FunctionLike>>[]>>);
116
- clone(): EdgeRouter<R, Context, RResponse, Schema>;
117
- handler(): (request: R, context_: Context) => Promise<any> | ReturnType<FunctionLike> | ValueOrPromise<RResponse>;
118
- run(request: R, context_: Context): Promise<unknown>;
119
- use(base: EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>> | RouteMatch, ...fns: (EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>>)[]): this;
120
- private add;
121
- private prepareRequest;
122
- }
123
- declare const createEdgeRouter: <R extends Request, Context>(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, Response, Route<Nextable<FunctionLike>>[]>>) => EdgeRouter<R, Context>;
124
-
125
- declare const sendJson: (response: ServerResponse, statusCode: number, jsonBody: unknown) => void;
126
-
127
- export { EdgeRouter, NodeRouter, Router, createEdgeRouter, createRouter as createNodeRouter, createRouter, expressWrapper, sendJson, withZod };
128
- export type { RequestHandler as EdgeRequestHandler, ExpressRequestHandler, FindResult, FunctionLike, HandlerOptions, HttpMethod, NextHandler, Nextable, RequestHandler$1 as NodeRequestHandler, Route, RouteShortcutMethod, ValueOrPromise };
1
+ export type { ExpressRequestHandler } from "./adapter/express.d.mts";
2
+ export { default as expressWrapper } from "./adapter/express.d.mts";
3
+ export { default as withZod } from "./adapter/with-zod.d.mts";
4
+ export type { RequestHandler as EdgeRequestHandler } from "./edge.d.mts";
5
+ export { createEdgeRouter, EdgeRouter } from "./edge.d.mts";
6
+ export type { RequestHandler as NodeRequestHandler } from "./node.d.mts";
7
+ export { createRouter } from "./node.d.mts";
8
+ export { createRouter as createNodeRouter, NodeRouter } from "./node.d.mts";
9
+ export type { Route } from "./router.d.mts";
10
+ export { Router } from "./router.d.mts";
11
+ export type { FindResult, FunctionLike, HandlerOptions, HttpMethod, Nextable, NextHandler, RouteShortcutMethod, ValueOrPromise } from "./types.d.d.mts";
12
+ export { default as sendJson } from "./utils/send-json.d.mts";
package/dist/index.d.ts CHANGED
@@ -1,128 +1,12 @@
1
- import { IncomingMessage, ServerResponse } from 'node:http';
2
- import { AnyZodObject, ZodObject } from 'zod';
3
-
4
- type HttpMethod = "CONNECT" | "DELETE" | "GET" | "HEAD" | "OPTIONS" | "PATCH" | "POST" | "PUT" | "TRACE";
5
-
6
- type FunctionLike = (...arguments_: any[]) => any;
7
-
8
- type RouteMatch = RegExp | string;
9
-
10
- type ValueOrPromise<T> = Promise<T> | T;
11
-
12
- type NextHandler = () => ValueOrPromise<any>;
13
-
14
- type Nextable<H extends FunctionLike> = (...arguments_: [...Parameters<H>, NextHandler]) => ValueOrPromise<any>;
15
-
16
- interface FindResult<H extends FunctionLike> {
17
- fns: Nextable<H>[];
18
- middleOnly: boolean;
19
- params: Record<string, string>;
20
- }
21
-
22
- type RoutesExtendedRequestHandler<Request extends object, Context, RResponse, Routes> = (
23
- request: Request,
24
- response: Context,
25
- routes: Routes,
26
- // eslint-disable-next-line @typescript-eslint/no-invalid-void-type
27
- ) => ValueOrPromise<RResponse | void>;
28
-
29
- interface HandlerOptions<Handler extends FunctionLike> {
30
- onError?: (error: unknown, ...arguments_: Parameters<Handler>) => ReturnType<Handler>;
31
- onNoMatch?: Handler;
32
- }
33
-
34
- type RouteShortcutMethod<This, Schema extends AnyZodObject, H extends FunctionLike> = (
35
- route: Nextable<H> | RouteMatch,
36
- zodSchemaOrRouteOrFns?: Nextable<H> | RouteMatch | Schema | string,
37
- ...fns: Nextable<H>[]
38
- ) => This;
39
-
40
- type Route<H> = {
41
- fns: (H | Router<H extends FunctionLike ? H : never>)[];
42
- isMiddleware: boolean;
43
- method: HttpMethod | "";
44
- } & ({
45
- keys: string[] | false;
46
- pattern: RegExp;
47
- } | {
48
- matchAll: true;
49
- });
50
- declare class Router<H extends FunctionLike> {
51
- base: string;
52
- routes: Route<Nextable<H>>[];
53
- static exec<FL extends FunctionLike>(fns: (Nextable<FL> | undefined)[], ...arguments_: Parameters<FL>): Promise<any>;
54
- constructor(base?: string, routes?: Route<Nextable<H>>[]);
55
- add(method: HttpMethod | "", route: Nextable<H> | RouteMatch, ...fns: Nextable<H>[]): this;
56
- clone(base?: string): Router<H>;
57
- find(method: HttpMethod, pathname: string): FindResult<H>;
58
- use(base: Nextable<H> | RouteMatch | Router<H>, ...fns: (Nextable<H> | Router<H>)[]): this;
59
- }
60
-
61
- type RequestHandler$1<Request extends IncomingMessage, Response extends ServerResponse> = (request: Request, response: Response) => ValueOrPromise<void>;
62
- declare class NodeRouter<Request extends IncomingMessage = IncomingMessage, Response extends ServerResponse = ServerResponse, Schema extends AnyZodObject = ZodObject<never>> {
63
- all: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
64
- connect: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
65
- delete: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
66
- get: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
67
- head: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
68
- options: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
69
- patch: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
70
- post: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
71
- put: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
72
- trace: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
73
- private readonly onError;
74
- private readonly onNoMatch;
75
- private router;
76
- constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>);
77
- clone(): NodeRouter<Request, Response, Schema>;
78
- handler(): (request: Request, response: Response) => Promise<void>;
79
- run(request: Request, response: Response): Promise<unknown>;
80
- use(base: Nextable<RequestHandler$1<Request, Response>> | NodeRouter<Request, Response, Schema> | RouteMatch, ...fns: (Nextable<RequestHandler$1<Request, Response>> | NodeRouter<Request, Response, Schema>)[]): this;
81
- private add;
82
- private prepareRequest;
83
- }
84
- declare const createRouter: <Request extends IncomingMessage, Response extends ServerResponse, Schema extends AnyZodObject = ZodObject<{
85
- body?: AnyZodObject;
86
- headers?: AnyZodObject;
87
- query?: AnyZodObject;
88
- }>>(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>) => NodeRouter<Request, Response, Schema>;
89
-
90
- type NextFunction = (error?: any) => void;
91
- declare const expressWrapper: <Request extends IncomingMessage, Response extends ServerResponse>(function_: ExpressRequestHandler<Request, Response>) => Nextable<RequestHandler$1<Request, Response>>;
92
- type ExpressRequestHandler<Request, Response> = (request: Request, response: Response, next: NextFunction) => void;
93
-
94
- declare const withZod: <Request, Response, Handler extends Nextable<any>, Schema extends ZodObject<{
95
- body?: AnyZodObject;
96
- headers?: AnyZodObject;
97
- query?: AnyZodObject;
98
- }>>(schema: Schema, handler: Handler) => (request: Request, response: Response, next: NextHandler) => Promise<Response>;
99
-
100
- type RequestHandler<R extends Request, Context> = (request: R, context_: Context) => ValueOrPromise<Response | void>;
101
- declare class EdgeRouter<R extends Request = Request, Context = unknown, RResponse extends Response = Response, Schema extends AnyZodObject = ZodObject<any>> {
102
- all: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
103
- connect: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
104
- delete: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
105
- get: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
106
- head: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
107
- options: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
108
- patch: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
109
- post: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
110
- put: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
111
- trace: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
112
- private readonly onError;
113
- private readonly onNoMatch;
114
- private router;
115
- constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, RResponse, Route<Nextable<FunctionLike>>[]>>);
116
- clone(): EdgeRouter<R, Context, RResponse, Schema>;
117
- handler(): (request: R, context_: Context) => Promise<any> | ReturnType<FunctionLike> | ValueOrPromise<RResponse>;
118
- run(request: R, context_: Context): Promise<unknown>;
119
- use(base: EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>> | RouteMatch, ...fns: (EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>>)[]): this;
120
- private add;
121
- private prepareRequest;
122
- }
123
- declare const createEdgeRouter: <R extends Request, Context>(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, Response, Route<Nextable<FunctionLike>>[]>>) => EdgeRouter<R, Context>;
124
-
125
- declare const sendJson: (response: ServerResponse, statusCode: number, jsonBody: unknown) => void;
126
-
127
- export { EdgeRouter, NodeRouter, Router, createEdgeRouter, createRouter as createNodeRouter, createRouter, expressWrapper, sendJson, withZod };
128
- export type { RequestHandler as EdgeRequestHandler, ExpressRequestHandler, FindResult, FunctionLike, HandlerOptions, HttpMethod, NextHandler, Nextable, RequestHandler$1 as NodeRequestHandler, Route, RouteShortcutMethod, ValueOrPromise };
1
+ export type { ExpressRequestHandler } from "./adapter/express.d.ts";
2
+ export { default as expressWrapper } from "./adapter/express.d.ts";
3
+ export { default as withZod } from "./adapter/with-zod.d.ts";
4
+ export type { RequestHandler as EdgeRequestHandler } from "./edge.d.ts";
5
+ export { createEdgeRouter, EdgeRouter } from "./edge.d.ts";
6
+ export type { RequestHandler as NodeRequestHandler } from "./node.d.ts";
7
+ export { createRouter } from "./node.d.ts";
8
+ export { createRouter as createNodeRouter, NodeRouter } from "./node.d.ts";
9
+ export type { Route } from "./router.d.ts";
10
+ export { Router } from "./router.d.ts";
11
+ export type { FindResult, FunctionLike, HandlerOptions, HttpMethod, Nextable, NextHandler, RouteShortcutMethod, ValueOrPromise } from "./types.d.d.ts";
12
+ export { default as sendJson } from "./utils/send-json.d.ts";