@visulima/connect 4.0.0-alpha.10 → 4.0.0-alpha.12
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 +9 -0
- package/dist/index.d.cts +107 -12
- package/dist/index.d.mts +107 -12
- package/dist/index.d.ts +107 -12
- package/package.json +8 -8
- package/dist/adapter/express.d.cts +0 -7
- package/dist/adapter/express.d.mts +0 -7
- package/dist/adapter/express.d.ts +0 -7
- package/dist/adapter/with-zod.d.cts +0 -4
- package/dist/adapter/with-zod.d.mts +0 -4
- package/dist/adapter/with-zod.d.ts +0 -4
- package/dist/edge.d.cts +0 -30
- package/dist/edge.d.mts +0 -30
- package/dist/edge.d.ts +0 -30
- package/dist/node.d.cts +0 -29
- package/dist/node.d.mts +0 -29
- package/dist/node.d.ts +0 -29
- package/dist/router.d.cts +0 -26
- package/dist/router.d.mts +0 -26
- package/dist/router.d.ts +0 -26
- package/dist/utils/send-json.d.cts +0 -9
- package/dist/utils/send-json.d.mts +0 -9
- package/dist/utils/send-json.d.ts +0 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
## @visulima/connect [4.0.0-alpha.12](https://github.com/visulima/visulima/compare/@visulima/connect@4.0.0-alpha.11...@visulima/connect@4.0.0-alpha.12) (2026-05-04)
|
|
2
|
+
|
|
3
|
+
## @visulima/connect [4.0.0-alpha.11](https://github.com/visulima/visulima/compare/@visulima/connect@4.0.0-alpha.10...@visulima/connect@4.0.0-alpha.11) (2026-04-30)
|
|
4
|
+
|
|
5
|
+
### Miscellaneous Chores
|
|
6
|
+
|
|
7
|
+
* **connect:** upgrade packem to 2.0.0-alpha.76 ([7e3a33b](https://github.com/visulima/visulima/commit/7e3a33b6668284452fd51af3c99d2af3be2e61d5))
|
|
8
|
+
* re-sort workspace package.json files via vis sort-package-json ([f625696](https://github.com/visulima/visulima/commit/f625696cfac974325774b3243e1a83c3d23acbd7))
|
|
9
|
+
|
|
1
10
|
## @visulima/connect [4.0.0-alpha.10](https://github.com/visulima/visulima/compare/@visulima/connect@4.0.0-alpha.9...@visulima/connect@4.0.0-alpha.10) (2026-04-22)
|
|
2
11
|
|
|
3
12
|
### Bug Fixes
|
package/dist/index.d.cts
CHANGED
|
@@ -1,12 +1,107 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
+
import * as z from 'zod';
|
|
3
|
+
type HttpMethod = "CONNECT" | "DELETE" | "GET" | "HEAD" | "OPTIONS" | "PATCH" | "POST" | "PUT" | "TRACE";
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- base function type requires `any` for variance compatibility
|
|
5
|
+
type FunctionLike = (...arguments_: any[]) => any;
|
|
6
|
+
type RouteMatch = RegExp | string;
|
|
7
|
+
type ValueOrPromise<T> = Promise<T> | T;
|
|
8
|
+
type NextHandler = () => ValueOrPromise<unknown>;
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- must return `any` to match arbitrary handler signatures
|
|
10
|
+
type Nextable<H extends FunctionLike> = (...arguments_: [...Parameters<H>, NextHandler]) => ValueOrPromise<any>;
|
|
11
|
+
interface FindResult<H extends FunctionLike> {
|
|
12
|
+
fns: Nextable<H>[];
|
|
13
|
+
middleOnly: boolean;
|
|
14
|
+
params: Record<string, string>;
|
|
15
|
+
}
|
|
16
|
+
type RoutesExtendedRequestHandler<Request extends object, Context, RResponse, Routes> = (request: Request, response: Context, routes: Routes) => ValueOrPromise<RResponse | undefined>;
|
|
17
|
+
interface HandlerOptions<Handler extends FunctionLike> {
|
|
18
|
+
onError?: (error: unknown, ...arguments_: Parameters<Handler>) => ReturnType<Handler>;
|
|
19
|
+
onNoMatch?: Handler;
|
|
20
|
+
}
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ZodObject requires `any` for generic parameter compatibility
|
|
22
|
+
type RouteShortcutMethod<This, Schema extends z.ZodObject<any>, H extends FunctionLike> = (route: Nextable<H> | RouteMatch, zodSchemaOrRouteOrFns?: Nextable<H> | RouteMatch | Schema | string, ...fns: Nextable<H>[]) => This;
|
|
23
|
+
type Route<H> = {
|
|
24
|
+
fns: (H | Router<H extends FunctionLike ? H : never>)[];
|
|
25
|
+
isMiddleware: boolean;
|
|
26
|
+
method: HttpMethod | "";
|
|
27
|
+
} & ({
|
|
28
|
+
keys: string[] | false;
|
|
29
|
+
pattern: RegExp;
|
|
30
|
+
} | {
|
|
31
|
+
matchAll: true;
|
|
32
|
+
});
|
|
33
|
+
declare class Router<H extends FunctionLike> {
|
|
34
|
+
base: string;
|
|
35
|
+
routes: Route<Nextable<H>>[];
|
|
36
|
+
static exec<FL extends FunctionLike>(fns: (Nextable<FL> | undefined)[], ...arguments_: Parameters<FL>): Promise<unknown>;
|
|
37
|
+
private static extractRegExpParams;
|
|
38
|
+
private static extractKeyedParams;
|
|
39
|
+
private static isMethodMatch;
|
|
40
|
+
private static matchRoute;
|
|
41
|
+
private static resolveRouteFns;
|
|
42
|
+
constructor(base?: string, routes?: Route<Nextable<H>>[]);
|
|
43
|
+
add(method: HttpMethod | "", route: Nextable<H> | RouteMatch, ...fns: Nextable<H>[]): this;
|
|
44
|
+
clone(base?: string): Router<H>;
|
|
45
|
+
find(method: HttpMethod, pathname: string): FindResult<H>;
|
|
46
|
+
use(base: Nextable<H> | RouteMatch | Router<H>, ...fns: (Nextable<H> | Router<H>)[]): this;
|
|
47
|
+
}
|
|
48
|
+
type RequestHandler$1<Request extends IncomingMessage, Response extends ServerResponse> = (request: Request, response: Response) => ValueOrPromise<void>;
|
|
49
|
+
declare class NodeRouter<Request extends IncomingMessage = IncomingMessage, Response extends ServerResponse = ServerResponse, Schema extends z.ZodObject<any> = z.ZodObject<any>> {
|
|
50
|
+
private static prepareRequest;
|
|
51
|
+
all: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
52
|
+
connect: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
53
|
+
delete: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
54
|
+
get: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
55
|
+
head: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
56
|
+
options: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
57
|
+
patch: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
58
|
+
post: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
59
|
+
put: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
60
|
+
trace: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
61
|
+
private readonly onError;
|
|
62
|
+
private readonly onNoMatch;
|
|
63
|
+
private router;
|
|
64
|
+
constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>);
|
|
65
|
+
clone(): NodeRouter<Request, Response, Schema>;
|
|
66
|
+
handler(): (request: Request, response: Response) => Promise<void>;
|
|
67
|
+
run(request: Request, response: Response): Promise<unknown>;
|
|
68
|
+
use(base: Nextable<RequestHandler$1<Request, Response>> | NodeRouter<Request, Response, Schema> | RouteMatch, ...fns: (Nextable<RequestHandler$1<Request, Response>> | NodeRouter<Request, Response, Schema>)[]): this;
|
|
69
|
+
private add;
|
|
70
|
+
}
|
|
71
|
+
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>;
|
|
72
|
+
type NextFunction = (error?: Error) => void;
|
|
73
|
+
declare const expressWrapper: <Request extends IncomingMessage, Response extends ServerResponse>(function_: ExpressRequestHandler<Request, Response>) => Nextable<RequestHandler$1<Request, Response>>;
|
|
74
|
+
type ExpressRequestHandler<Request, Response> = (request: Request, response: Response, next: NextFunction) => void;
|
|
75
|
+
declare const withZod: (schema: z.ZodObject<any>, handler: Nextable<FunctionLike>) => (request: unknown, response: unknown, next: NextHandler) => Promise<unknown>;
|
|
76
|
+
type RequestHandler<R extends Request, Context> = (request: R, context_: Context) => ValueOrPromise<Response | undefined>;
|
|
77
|
+
declare class EdgeRouter<R extends Request = Request, Context = unknown, RResponse extends Response = Response, Schema extends z.ZodObject<any> = z.ZodObject<any>> {
|
|
78
|
+
private static prepareRequest;
|
|
79
|
+
all: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
80
|
+
connect: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
81
|
+
delete: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
82
|
+
get: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
83
|
+
head: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
84
|
+
options: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
85
|
+
patch: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
86
|
+
post: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
87
|
+
put: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
88
|
+
trace: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
89
|
+
private readonly onError;
|
|
90
|
+
private readonly onNoMatch;
|
|
91
|
+
private router;
|
|
92
|
+
constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, RResponse, Route<Nextable<FunctionLike>>[]>>);
|
|
93
|
+
clone(): EdgeRouter<R, Context, RResponse, Schema>;
|
|
94
|
+
handler(): (request: R, context_: Context) => Promise<RResponse | undefined>;
|
|
95
|
+
run(request: R, context_: Context): Promise<unknown>;
|
|
96
|
+
use(base: EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>> | RouteMatch, ...fns: (EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>>)[]): this;
|
|
97
|
+
private add;
|
|
98
|
+
}
|
|
99
|
+
declare const createEdgeRouter: <R extends Request, Context>(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, Response, Route<Nextable<FunctionLike>>[]>>) => EdgeRouter<R, Context>;
|
|
100
|
+
/**
|
|
101
|
+
* Send `JSON` object.
|
|
102
|
+
* @param response Response object.
|
|
103
|
+
* @param statusCode The HTTP status code.
|
|
104
|
+
* @param jsonBody The body of data.
|
|
105
|
+
*/
|
|
106
|
+
declare const sendJson: (response: ServerResponse, statusCode: number, jsonBody: unknown) => void;
|
|
107
|
+
export { type RequestHandler as EdgeRequestHandler, EdgeRouter, type ExpressRequestHandler, type FindResult, type FunctionLike, type HandlerOptions, type HttpMethod, type NextHandler, type Nextable, type RequestHandler$1 as NodeRequestHandler, NodeRouter, type Route, type RouteShortcutMethod, Router, type ValueOrPromise, createEdgeRouter, createRouter as createNodeRouter, createRouter, expressWrapper, sendJson, withZod };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,12 +1,107 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
+
import * as z from 'zod';
|
|
3
|
+
type HttpMethod = "CONNECT" | "DELETE" | "GET" | "HEAD" | "OPTIONS" | "PATCH" | "POST" | "PUT" | "TRACE";
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- base function type requires `any` for variance compatibility
|
|
5
|
+
type FunctionLike = (...arguments_: any[]) => any;
|
|
6
|
+
type RouteMatch = RegExp | string;
|
|
7
|
+
type ValueOrPromise<T> = Promise<T> | T;
|
|
8
|
+
type NextHandler = () => ValueOrPromise<unknown>;
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- must return `any` to match arbitrary handler signatures
|
|
10
|
+
type Nextable<H extends FunctionLike> = (...arguments_: [...Parameters<H>, NextHandler]) => ValueOrPromise<any>;
|
|
11
|
+
interface FindResult<H extends FunctionLike> {
|
|
12
|
+
fns: Nextable<H>[];
|
|
13
|
+
middleOnly: boolean;
|
|
14
|
+
params: Record<string, string>;
|
|
15
|
+
}
|
|
16
|
+
type RoutesExtendedRequestHandler<Request extends object, Context, RResponse, Routes> = (request: Request, response: Context, routes: Routes) => ValueOrPromise<RResponse | undefined>;
|
|
17
|
+
interface HandlerOptions<Handler extends FunctionLike> {
|
|
18
|
+
onError?: (error: unknown, ...arguments_: Parameters<Handler>) => ReturnType<Handler>;
|
|
19
|
+
onNoMatch?: Handler;
|
|
20
|
+
}
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ZodObject requires `any` for generic parameter compatibility
|
|
22
|
+
type RouteShortcutMethod<This, Schema extends z.ZodObject<any>, H extends FunctionLike> = (route: Nextable<H> | RouteMatch, zodSchemaOrRouteOrFns?: Nextable<H> | RouteMatch | Schema | string, ...fns: Nextable<H>[]) => This;
|
|
23
|
+
type Route<H> = {
|
|
24
|
+
fns: (H | Router<H extends FunctionLike ? H : never>)[];
|
|
25
|
+
isMiddleware: boolean;
|
|
26
|
+
method: HttpMethod | "";
|
|
27
|
+
} & ({
|
|
28
|
+
keys: string[] | false;
|
|
29
|
+
pattern: RegExp;
|
|
30
|
+
} | {
|
|
31
|
+
matchAll: true;
|
|
32
|
+
});
|
|
33
|
+
declare class Router<H extends FunctionLike> {
|
|
34
|
+
base: string;
|
|
35
|
+
routes: Route<Nextable<H>>[];
|
|
36
|
+
static exec<FL extends FunctionLike>(fns: (Nextable<FL> | undefined)[], ...arguments_: Parameters<FL>): Promise<unknown>;
|
|
37
|
+
private static extractRegExpParams;
|
|
38
|
+
private static extractKeyedParams;
|
|
39
|
+
private static isMethodMatch;
|
|
40
|
+
private static matchRoute;
|
|
41
|
+
private static resolveRouteFns;
|
|
42
|
+
constructor(base?: string, routes?: Route<Nextable<H>>[]);
|
|
43
|
+
add(method: HttpMethod | "", route: Nextable<H> | RouteMatch, ...fns: Nextable<H>[]): this;
|
|
44
|
+
clone(base?: string): Router<H>;
|
|
45
|
+
find(method: HttpMethod, pathname: string): FindResult<H>;
|
|
46
|
+
use(base: Nextable<H> | RouteMatch | Router<H>, ...fns: (Nextable<H> | Router<H>)[]): this;
|
|
47
|
+
}
|
|
48
|
+
type RequestHandler$1<Request extends IncomingMessage, Response extends ServerResponse> = (request: Request, response: Response) => ValueOrPromise<void>;
|
|
49
|
+
declare class NodeRouter<Request extends IncomingMessage = IncomingMessage, Response extends ServerResponse = ServerResponse, Schema extends z.ZodObject<any> = z.ZodObject<any>> {
|
|
50
|
+
private static prepareRequest;
|
|
51
|
+
all: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
52
|
+
connect: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
53
|
+
delete: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
54
|
+
get: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
55
|
+
head: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
56
|
+
options: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
57
|
+
patch: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
58
|
+
post: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
59
|
+
put: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
60
|
+
trace: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
61
|
+
private readonly onError;
|
|
62
|
+
private readonly onNoMatch;
|
|
63
|
+
private router;
|
|
64
|
+
constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>);
|
|
65
|
+
clone(): NodeRouter<Request, Response, Schema>;
|
|
66
|
+
handler(): (request: Request, response: Response) => Promise<void>;
|
|
67
|
+
run(request: Request, response: Response): Promise<unknown>;
|
|
68
|
+
use(base: Nextable<RequestHandler$1<Request, Response>> | NodeRouter<Request, Response, Schema> | RouteMatch, ...fns: (Nextable<RequestHandler$1<Request, Response>> | NodeRouter<Request, Response, Schema>)[]): this;
|
|
69
|
+
private add;
|
|
70
|
+
}
|
|
71
|
+
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>;
|
|
72
|
+
type NextFunction = (error?: Error) => void;
|
|
73
|
+
declare const expressWrapper: <Request extends IncomingMessage, Response extends ServerResponse>(function_: ExpressRequestHandler<Request, Response>) => Nextable<RequestHandler$1<Request, Response>>;
|
|
74
|
+
type ExpressRequestHandler<Request, Response> = (request: Request, response: Response, next: NextFunction) => void;
|
|
75
|
+
declare const withZod: (schema: z.ZodObject<any>, handler: Nextable<FunctionLike>) => (request: unknown, response: unknown, next: NextHandler) => Promise<unknown>;
|
|
76
|
+
type RequestHandler<R extends Request, Context> = (request: R, context_: Context) => ValueOrPromise<Response | undefined>;
|
|
77
|
+
declare class EdgeRouter<R extends Request = Request, Context = unknown, RResponse extends Response = Response, Schema extends z.ZodObject<any> = z.ZodObject<any>> {
|
|
78
|
+
private static prepareRequest;
|
|
79
|
+
all: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
80
|
+
connect: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
81
|
+
delete: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
82
|
+
get: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
83
|
+
head: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
84
|
+
options: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
85
|
+
patch: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
86
|
+
post: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
87
|
+
put: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
88
|
+
trace: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
89
|
+
private readonly onError;
|
|
90
|
+
private readonly onNoMatch;
|
|
91
|
+
private router;
|
|
92
|
+
constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, RResponse, Route<Nextable<FunctionLike>>[]>>);
|
|
93
|
+
clone(): EdgeRouter<R, Context, RResponse, Schema>;
|
|
94
|
+
handler(): (request: R, context_: Context) => Promise<RResponse | undefined>;
|
|
95
|
+
run(request: R, context_: Context): Promise<unknown>;
|
|
96
|
+
use(base: EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>> | RouteMatch, ...fns: (EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>>)[]): this;
|
|
97
|
+
private add;
|
|
98
|
+
}
|
|
99
|
+
declare const createEdgeRouter: <R extends Request, Context>(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, Response, Route<Nextable<FunctionLike>>[]>>) => EdgeRouter<R, Context>;
|
|
100
|
+
/**
|
|
101
|
+
* Send `JSON` object.
|
|
102
|
+
* @param response Response object.
|
|
103
|
+
* @param statusCode The HTTP status code.
|
|
104
|
+
* @param jsonBody The body of data.
|
|
105
|
+
*/
|
|
106
|
+
declare const sendJson: (response: ServerResponse, statusCode: number, jsonBody: unknown) => void;
|
|
107
|
+
export { type RequestHandler as EdgeRequestHandler, EdgeRouter, type ExpressRequestHandler, type FindResult, type FunctionLike, type HandlerOptions, type HttpMethod, type NextHandler, type Nextable, type RequestHandler$1 as NodeRequestHandler, NodeRouter, type Route, type RouteShortcutMethod, Router, type ValueOrPromise, createEdgeRouter, createRouter as createNodeRouter, createRouter, expressWrapper, sendJson, withZod };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,107 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
+
import * as z from 'zod';
|
|
3
|
+
type HttpMethod = "CONNECT" | "DELETE" | "GET" | "HEAD" | "OPTIONS" | "PATCH" | "POST" | "PUT" | "TRACE";
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- base function type requires `any` for variance compatibility
|
|
5
|
+
type FunctionLike = (...arguments_: any[]) => any;
|
|
6
|
+
type RouteMatch = RegExp | string;
|
|
7
|
+
type ValueOrPromise<T> = Promise<T> | T;
|
|
8
|
+
type NextHandler = () => ValueOrPromise<unknown>;
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- must return `any` to match arbitrary handler signatures
|
|
10
|
+
type Nextable<H extends FunctionLike> = (...arguments_: [...Parameters<H>, NextHandler]) => ValueOrPromise<any>;
|
|
11
|
+
interface FindResult<H extends FunctionLike> {
|
|
12
|
+
fns: Nextable<H>[];
|
|
13
|
+
middleOnly: boolean;
|
|
14
|
+
params: Record<string, string>;
|
|
15
|
+
}
|
|
16
|
+
type RoutesExtendedRequestHandler<Request extends object, Context, RResponse, Routes> = (request: Request, response: Context, routes: Routes) => ValueOrPromise<RResponse | undefined>;
|
|
17
|
+
interface HandlerOptions<Handler extends FunctionLike> {
|
|
18
|
+
onError?: (error: unknown, ...arguments_: Parameters<Handler>) => ReturnType<Handler>;
|
|
19
|
+
onNoMatch?: Handler;
|
|
20
|
+
}
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ZodObject requires `any` for generic parameter compatibility
|
|
22
|
+
type RouteShortcutMethod<This, Schema extends z.ZodObject<any>, H extends FunctionLike> = (route: Nextable<H> | RouteMatch, zodSchemaOrRouteOrFns?: Nextable<H> | RouteMatch | Schema | string, ...fns: Nextable<H>[]) => This;
|
|
23
|
+
type Route<H> = {
|
|
24
|
+
fns: (H | Router<H extends FunctionLike ? H : never>)[];
|
|
25
|
+
isMiddleware: boolean;
|
|
26
|
+
method: HttpMethod | "";
|
|
27
|
+
} & ({
|
|
28
|
+
keys: string[] | false;
|
|
29
|
+
pattern: RegExp;
|
|
30
|
+
} | {
|
|
31
|
+
matchAll: true;
|
|
32
|
+
});
|
|
33
|
+
declare class Router<H extends FunctionLike> {
|
|
34
|
+
base: string;
|
|
35
|
+
routes: Route<Nextable<H>>[];
|
|
36
|
+
static exec<FL extends FunctionLike>(fns: (Nextable<FL> | undefined)[], ...arguments_: Parameters<FL>): Promise<unknown>;
|
|
37
|
+
private static extractRegExpParams;
|
|
38
|
+
private static extractKeyedParams;
|
|
39
|
+
private static isMethodMatch;
|
|
40
|
+
private static matchRoute;
|
|
41
|
+
private static resolveRouteFns;
|
|
42
|
+
constructor(base?: string, routes?: Route<Nextable<H>>[]);
|
|
43
|
+
add(method: HttpMethod | "", route: Nextable<H> | RouteMatch, ...fns: Nextable<H>[]): this;
|
|
44
|
+
clone(base?: string): Router<H>;
|
|
45
|
+
find(method: HttpMethod, pathname: string): FindResult<H>;
|
|
46
|
+
use(base: Nextable<H> | RouteMatch | Router<H>, ...fns: (Nextable<H> | Router<H>)[]): this;
|
|
47
|
+
}
|
|
48
|
+
type RequestHandler$1<Request extends IncomingMessage, Response extends ServerResponse> = (request: Request, response: Response) => ValueOrPromise<void>;
|
|
49
|
+
declare class NodeRouter<Request extends IncomingMessage = IncomingMessage, Response extends ServerResponse = ServerResponse, Schema extends z.ZodObject<any> = z.ZodObject<any>> {
|
|
50
|
+
private static prepareRequest;
|
|
51
|
+
all: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
52
|
+
connect: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
53
|
+
delete: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
54
|
+
get: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
55
|
+
head: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
56
|
+
options: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
57
|
+
patch: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
58
|
+
post: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
59
|
+
put: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
60
|
+
trace: RouteShortcutMethod<this, Schema, RequestHandler$1<Request, Response>>;
|
|
61
|
+
private readonly onError;
|
|
62
|
+
private readonly onNoMatch;
|
|
63
|
+
private router;
|
|
64
|
+
constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>);
|
|
65
|
+
clone(): NodeRouter<Request, Response, Schema>;
|
|
66
|
+
handler(): (request: Request, response: Response) => Promise<void>;
|
|
67
|
+
run(request: Request, response: Response): Promise<unknown>;
|
|
68
|
+
use(base: Nextable<RequestHandler$1<Request, Response>> | NodeRouter<Request, Response, Schema> | RouteMatch, ...fns: (Nextable<RequestHandler$1<Request, Response>> | NodeRouter<Request, Response, Schema>)[]): this;
|
|
69
|
+
private add;
|
|
70
|
+
}
|
|
71
|
+
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>;
|
|
72
|
+
type NextFunction = (error?: Error) => void;
|
|
73
|
+
declare const expressWrapper: <Request extends IncomingMessage, Response extends ServerResponse>(function_: ExpressRequestHandler<Request, Response>) => Nextable<RequestHandler$1<Request, Response>>;
|
|
74
|
+
type ExpressRequestHandler<Request, Response> = (request: Request, response: Response, next: NextFunction) => void;
|
|
75
|
+
declare const withZod: (schema: z.ZodObject<any>, handler: Nextable<FunctionLike>) => (request: unknown, response: unknown, next: NextHandler) => Promise<unknown>;
|
|
76
|
+
type RequestHandler<R extends Request, Context> = (request: R, context_: Context) => ValueOrPromise<Response | undefined>;
|
|
77
|
+
declare class EdgeRouter<R extends Request = Request, Context = unknown, RResponse extends Response = Response, Schema extends z.ZodObject<any> = z.ZodObject<any>> {
|
|
78
|
+
private static prepareRequest;
|
|
79
|
+
all: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
80
|
+
connect: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
81
|
+
delete: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
82
|
+
get: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
83
|
+
head: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
84
|
+
options: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
85
|
+
patch: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
86
|
+
post: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
87
|
+
put: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
88
|
+
trace: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
89
|
+
private readonly onError;
|
|
90
|
+
private readonly onNoMatch;
|
|
91
|
+
private router;
|
|
92
|
+
constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, RResponse, Route<Nextable<FunctionLike>>[]>>);
|
|
93
|
+
clone(): EdgeRouter<R, Context, RResponse, Schema>;
|
|
94
|
+
handler(): (request: R, context_: Context) => Promise<RResponse | undefined>;
|
|
95
|
+
run(request: R, context_: Context): Promise<unknown>;
|
|
96
|
+
use(base: EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>> | RouteMatch, ...fns: (EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>>)[]): this;
|
|
97
|
+
private add;
|
|
98
|
+
}
|
|
99
|
+
declare const createEdgeRouter: <R extends Request, Context>(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, Response, Route<Nextable<FunctionLike>>[]>>) => EdgeRouter<R, Context>;
|
|
100
|
+
/**
|
|
101
|
+
* Send `JSON` object.
|
|
102
|
+
* @param response Response object.
|
|
103
|
+
* @param statusCode The HTTP status code.
|
|
104
|
+
* @param jsonBody The body of data.
|
|
105
|
+
*/
|
|
106
|
+
declare const sendJson: (response: ServerResponse, statusCode: number, jsonBody: unknown) => void;
|
|
107
|
+
export { type RequestHandler as EdgeRequestHandler, EdgeRouter, type ExpressRequestHandler, type FindResult, type FunctionLike, type HandlerOptions, type HttpMethod, type NextHandler, type Nextable, type RequestHandler$1 as NodeRequestHandler, NodeRouter, type Route, type RouteShortcutMethod, Router, type ValueOrPromise, createEdgeRouter, createRouter as createNodeRouter, createRouter, expressWrapper, sendJson, withZod };
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visulima/connect",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.12",
|
|
4
4
|
"description": "The minimal router and middleware layer for Next.js, Micro, Vercel, or Node.js http/http2 with support for zod validation.",
|
|
5
5
|
"keywords": [
|
|
6
|
-
"
|
|
6
|
+
"connect",
|
|
7
|
+
"http",
|
|
8
|
+
"http2",
|
|
7
9
|
"javascript",
|
|
8
|
-
"nextjs",
|
|
9
10
|
"middleware",
|
|
11
|
+
"nextjs",
|
|
12
|
+
"node",
|
|
10
13
|
"router",
|
|
11
|
-
"connect",
|
|
12
14
|
"vercel",
|
|
13
|
-
"
|
|
14
|
-
"http",
|
|
15
|
-
"http2",
|
|
15
|
+
"visulima",
|
|
16
16
|
"zod"
|
|
17
17
|
],
|
|
18
18
|
"homepage": "https://visulima.com/packages/connect/",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"regexparam": "^3.0.0"
|
|
76
76
|
},
|
|
77
77
|
"peerDependencies": {
|
|
78
|
-
"zod": "4.3
|
|
78
|
+
"zod": "4.4.3"
|
|
79
79
|
},
|
|
80
80
|
"engines": {
|
|
81
81
|
"node": "^22.14.0 || >=24.10.0"
|
|
@@ -1,7 +0,0 @@
|
|
|
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?: Error) => 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;
|
|
@@ -1,7 +0,0 @@
|
|
|
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?: Error) => 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;
|
|
@@ -1,7 +0,0 @@
|
|
|
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?: Error) => 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;
|
|
@@ -1,4 +0,0 @@
|
|
|
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>;
|
|
4
|
-
export = withZod;
|
|
@@ -1,4 +0,0 @@
|
|
|
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>;
|
|
4
|
-
export default withZod;
|
|
@@ -1,4 +0,0 @@
|
|
|
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>;
|
|
4
|
-
export = withZod;
|
package/dist/edge.d.cts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type * as z 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 | 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;
|
|
10
|
-
all: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
11
|
-
connect: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
12
|
-
delete: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
13
|
-
get: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
14
|
-
head: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
15
|
-
options: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
16
|
-
patch: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
17
|
-
post: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
18
|
-
put: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
19
|
-
trace: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
20
|
-
private readonly onError;
|
|
21
|
-
private readonly onNoMatch;
|
|
22
|
-
private router;
|
|
23
|
-
constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, RResponse, Route<Nextable<FunctionLike>>[]>>);
|
|
24
|
-
clone(): EdgeRouter<R, Context, RResponse, Schema>;
|
|
25
|
-
handler(): (request: R, context_: Context) => Promise<RResponse | undefined>;
|
|
26
|
-
run(request: R, context_: Context): Promise<unknown>;
|
|
27
|
-
use(base: EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>> | RouteMatch, ...fns: (EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>>)[]): this;
|
|
28
|
-
private add;
|
|
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.mts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type * as z 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 | 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;
|
|
10
|
-
all: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
11
|
-
connect: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
12
|
-
delete: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
13
|
-
get: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
14
|
-
head: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
15
|
-
options: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
16
|
-
patch: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
17
|
-
post: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
18
|
-
put: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
19
|
-
trace: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
20
|
-
private readonly onError;
|
|
21
|
-
private readonly onNoMatch;
|
|
22
|
-
private router;
|
|
23
|
-
constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, RResponse, Route<Nextable<FunctionLike>>[]>>);
|
|
24
|
-
clone(): EdgeRouter<R, Context, RResponse, Schema>;
|
|
25
|
-
handler(): (request: R, context_: Context) => Promise<RResponse | undefined>;
|
|
26
|
-
run(request: R, context_: Context): Promise<unknown>;
|
|
27
|
-
use(base: EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>> | RouteMatch, ...fns: (EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>>)[]): this;
|
|
28
|
-
private add;
|
|
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
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type * as z 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 | 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;
|
|
10
|
-
all: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
11
|
-
connect: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
12
|
-
delete: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
13
|
-
get: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
14
|
-
head: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
15
|
-
options: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
16
|
-
patch: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
17
|
-
post: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
18
|
-
put: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
19
|
-
trace: RouteShortcutMethod<this, Schema, RequestHandler<R, Context>>;
|
|
20
|
-
private readonly onError;
|
|
21
|
-
private readonly onNoMatch;
|
|
22
|
-
private router;
|
|
23
|
-
constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, RResponse, Route<Nextable<FunctionLike>>[]>>);
|
|
24
|
-
clone(): EdgeRouter<R, Context, RResponse, Schema>;
|
|
25
|
-
handler(): (request: R, context_: Context) => Promise<RResponse | undefined>;
|
|
26
|
-
run(request: R, context_: Context): Promise<unknown>;
|
|
27
|
-
use(base: EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>> | RouteMatch, ...fns: (EdgeRouter<R, Context> | Nextable<RequestHandler<R, Context>>)[]): this;
|
|
28
|
-
private add;
|
|
29
|
-
}
|
|
30
|
-
export declare const createEdgeRouter: <R extends Request, Context>(options?: HandlerOptions<RoutesExtendedRequestHandler<R, Context, Response, Route<Nextable<FunctionLike>>[]>>) => EdgeRouter<R, Context>;
|
package/dist/node.d.cts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
|
-
import type * as z from "zod";
|
|
3
|
-
import type { Route } from "./router.d.cts";
|
|
4
|
-
import type { FunctionLike, HandlerOptions, Nextable, RouteMatch, RoutesExtendedRequestHandler, RouteShortcutMethod, ValueOrPromise } from "./types.d.d.cts";
|
|
5
|
-
export declare const getPathname: (url: string) => string;
|
|
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 z.ZodObject<any> = z.ZodObject<any>> {
|
|
8
|
-
private static prepareRequest;
|
|
9
|
-
all: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
10
|
-
connect: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
11
|
-
delete: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
12
|
-
get: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
13
|
-
head: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
14
|
-
options: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
15
|
-
patch: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
16
|
-
post: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
17
|
-
put: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
18
|
-
trace: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
19
|
-
private readonly onError;
|
|
20
|
-
private readonly onNoMatch;
|
|
21
|
-
private router;
|
|
22
|
-
constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>);
|
|
23
|
-
clone(): NodeRouter<Request, Response, Schema>;
|
|
24
|
-
handler(): (request: Request, response: Response) => Promise<void>;
|
|
25
|
-
run(request: Request, response: Response): Promise<unknown>;
|
|
26
|
-
use(base: Nextable<RequestHandler<Request, Response>> | NodeRouter<Request, Response, Schema> | RouteMatch, ...fns: (Nextable<RequestHandler<Request, Response>> | NodeRouter<Request, Response, Schema>)[]): this;
|
|
27
|
-
private add;
|
|
28
|
-
}
|
|
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
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
|
-
import type * as z from "zod";
|
|
3
|
-
import type { Route } from "./router.d.mts";
|
|
4
|
-
import type { FunctionLike, HandlerOptions, Nextable, RouteMatch, RoutesExtendedRequestHandler, RouteShortcutMethod, ValueOrPromise } from "./types.d.d.mts";
|
|
5
|
-
export declare const getPathname: (url: string) => string;
|
|
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 z.ZodObject<any> = z.ZodObject<any>> {
|
|
8
|
-
private static prepareRequest;
|
|
9
|
-
all: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
10
|
-
connect: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
11
|
-
delete: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
12
|
-
get: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
13
|
-
head: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
14
|
-
options: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
15
|
-
patch: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
16
|
-
post: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
17
|
-
put: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
18
|
-
trace: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
19
|
-
private readonly onError;
|
|
20
|
-
private readonly onNoMatch;
|
|
21
|
-
private router;
|
|
22
|
-
constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>);
|
|
23
|
-
clone(): NodeRouter<Request, Response, Schema>;
|
|
24
|
-
handler(): (request: Request, response: Response) => Promise<void>;
|
|
25
|
-
run(request: Request, response: Response): Promise<unknown>;
|
|
26
|
-
use(base: Nextable<RequestHandler<Request, Response>> | NodeRouter<Request, Response, Schema> | RouteMatch, ...fns: (Nextable<RequestHandler<Request, Response>> | NodeRouter<Request, Response, Schema>)[]): this;
|
|
27
|
-
private add;
|
|
28
|
-
}
|
|
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
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
|
-
import type * as z from "zod";
|
|
3
|
-
import type { Route } from "./router.d.ts";
|
|
4
|
-
import type { FunctionLike, HandlerOptions, Nextable, RouteMatch, RoutesExtendedRequestHandler, RouteShortcutMethod, ValueOrPromise } from "./types.d.d.ts";
|
|
5
|
-
export declare const getPathname: (url: string) => string;
|
|
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 z.ZodObject<any> = z.ZodObject<any>> {
|
|
8
|
-
private static prepareRequest;
|
|
9
|
-
all: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
10
|
-
connect: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
11
|
-
delete: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
12
|
-
get: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
13
|
-
head: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
14
|
-
options: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
15
|
-
patch: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
16
|
-
post: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
17
|
-
put: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
18
|
-
trace: RouteShortcutMethod<this, Schema, RequestHandler<Request, Response>>;
|
|
19
|
-
private readonly onError;
|
|
20
|
-
private readonly onNoMatch;
|
|
21
|
-
private router;
|
|
22
|
-
constructor(options?: HandlerOptions<RoutesExtendedRequestHandler<Request, Response, Response, Route<Nextable<FunctionLike>>[]>>);
|
|
23
|
-
clone(): NodeRouter<Request, Response, Schema>;
|
|
24
|
-
handler(): (request: Request, response: Response) => Promise<void>;
|
|
25
|
-
run(request: Request, response: Response): Promise<unknown>;
|
|
26
|
-
use(base: Nextable<RequestHandler<Request, Response>> | NodeRouter<Request, Response, Schema> | RouteMatch, ...fns: (Nextable<RequestHandler<Request, Response>> | NodeRouter<Request, Response, Schema>)[]): this;
|
|
27
|
-
private add;
|
|
28
|
-
}
|
|
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/router.d.cts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { FindResult, FunctionLike, HttpMethod, Nextable, RouteMatch } from "./types.d.d.cts";
|
|
2
|
-
export type Route<H> = {
|
|
3
|
-
fns: (H | Router<H extends FunctionLike ? H : never>)[];
|
|
4
|
-
isMiddleware: boolean;
|
|
5
|
-
method: HttpMethod | "";
|
|
6
|
-
} & ({
|
|
7
|
-
keys: string[] | false;
|
|
8
|
-
pattern: RegExp;
|
|
9
|
-
} | {
|
|
10
|
-
matchAll: true;
|
|
11
|
-
});
|
|
12
|
-
export declare class Router<H extends FunctionLike> {
|
|
13
|
-
base: string;
|
|
14
|
-
routes: Route<Nextable<H>>[];
|
|
15
|
-
static exec<FL extends FunctionLike>(fns: (Nextable<FL> | undefined)[], ...arguments_: Parameters<FL>): Promise<unknown>;
|
|
16
|
-
private static extractRegExpParams;
|
|
17
|
-
private static extractKeyedParams;
|
|
18
|
-
private static isMethodMatch;
|
|
19
|
-
private static matchRoute;
|
|
20
|
-
private static resolveRouteFns;
|
|
21
|
-
constructor(base?: string, routes?: Route<Nextable<H>>[]);
|
|
22
|
-
add(method: HttpMethod | "", route: Nextable<H> | RouteMatch, ...fns: Nextable<H>[]): this;
|
|
23
|
-
clone(base?: string): Router<H>;
|
|
24
|
-
find(method: HttpMethod, pathname: string): FindResult<H>;
|
|
25
|
-
use(base: Nextable<H> | RouteMatch | Router<H>, ...fns: (Nextable<H> | Router<H>)[]): this;
|
|
26
|
-
}
|
package/dist/router.d.mts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { FindResult, FunctionLike, HttpMethod, Nextable, RouteMatch } from "./types.d.d.mts";
|
|
2
|
-
export type Route<H> = {
|
|
3
|
-
fns: (H | Router<H extends FunctionLike ? H : never>)[];
|
|
4
|
-
isMiddleware: boolean;
|
|
5
|
-
method: HttpMethod | "";
|
|
6
|
-
} & ({
|
|
7
|
-
keys: string[] | false;
|
|
8
|
-
pattern: RegExp;
|
|
9
|
-
} | {
|
|
10
|
-
matchAll: true;
|
|
11
|
-
});
|
|
12
|
-
export declare class Router<H extends FunctionLike> {
|
|
13
|
-
base: string;
|
|
14
|
-
routes: Route<Nextable<H>>[];
|
|
15
|
-
static exec<FL extends FunctionLike>(fns: (Nextable<FL> | undefined)[], ...arguments_: Parameters<FL>): Promise<unknown>;
|
|
16
|
-
private static extractRegExpParams;
|
|
17
|
-
private static extractKeyedParams;
|
|
18
|
-
private static isMethodMatch;
|
|
19
|
-
private static matchRoute;
|
|
20
|
-
private static resolveRouteFns;
|
|
21
|
-
constructor(base?: string, routes?: Route<Nextable<H>>[]);
|
|
22
|
-
add(method: HttpMethod | "", route: Nextable<H> | RouteMatch, ...fns: Nextable<H>[]): this;
|
|
23
|
-
clone(base?: string): Router<H>;
|
|
24
|
-
find(method: HttpMethod, pathname: string): FindResult<H>;
|
|
25
|
-
use(base: Nextable<H> | RouteMatch | Router<H>, ...fns: (Nextable<H> | Router<H>)[]): this;
|
|
26
|
-
}
|
package/dist/router.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { FindResult, FunctionLike, HttpMethod, Nextable, RouteMatch } from "./types.d.d.ts";
|
|
2
|
-
export type Route<H> = {
|
|
3
|
-
fns: (H | Router<H extends FunctionLike ? H : never>)[];
|
|
4
|
-
isMiddleware: boolean;
|
|
5
|
-
method: HttpMethod | "";
|
|
6
|
-
} & ({
|
|
7
|
-
keys: string[] | false;
|
|
8
|
-
pattern: RegExp;
|
|
9
|
-
} | {
|
|
10
|
-
matchAll: true;
|
|
11
|
-
});
|
|
12
|
-
export declare class Router<H extends FunctionLike> {
|
|
13
|
-
base: string;
|
|
14
|
-
routes: Route<Nextable<H>>[];
|
|
15
|
-
static exec<FL extends FunctionLike>(fns: (Nextable<FL> | undefined)[], ...arguments_: Parameters<FL>): Promise<unknown>;
|
|
16
|
-
private static extractRegExpParams;
|
|
17
|
-
private static extractKeyedParams;
|
|
18
|
-
private static isMethodMatch;
|
|
19
|
-
private static matchRoute;
|
|
20
|
-
private static resolveRouteFns;
|
|
21
|
-
constructor(base?: string, routes?: Route<Nextable<H>>[]);
|
|
22
|
-
add(method: HttpMethod | "", route: Nextable<H> | RouteMatch, ...fns: Nextable<H>[]): this;
|
|
23
|
-
clone(base?: string): Router<H>;
|
|
24
|
-
find(method: HttpMethod, pathname: string): FindResult<H>;
|
|
25
|
-
use(base: Nextable<H> | RouteMatch | Router<H>, ...fns: (Nextable<H> | Router<H>)[]): this;
|
|
26
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ServerResponse } from "node:http";
|
|
2
|
-
/**
|
|
3
|
-
* Send `JSON` object.
|
|
4
|
-
* @param response Response object.
|
|
5
|
-
* @param statusCode The HTTP status code.
|
|
6
|
-
* @param jsonBody The body of data.
|
|
7
|
-
*/
|
|
8
|
-
declare const sendJson: (response: ServerResponse, statusCode: number, jsonBody: unknown) => void;
|
|
9
|
-
export = sendJson;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ServerResponse } from "node:http";
|
|
2
|
-
/**
|
|
3
|
-
* Send `JSON` object.
|
|
4
|
-
* @param response Response object.
|
|
5
|
-
* @param statusCode The HTTP status code.
|
|
6
|
-
* @param jsonBody The body of data.
|
|
7
|
-
*/
|
|
8
|
-
declare const sendJson: (response: ServerResponse, statusCode: number, jsonBody: unknown) => void;
|
|
9
|
-
export default sendJson;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ServerResponse } from "node:http";
|
|
2
|
-
/**
|
|
3
|
-
* Send `JSON` object.
|
|
4
|
-
* @param response Response object.
|
|
5
|
-
* @param statusCode The HTTP status code.
|
|
6
|
-
* @param jsonBody The body of data.
|
|
7
|
-
*/
|
|
8
|
-
declare const sendJson: (response: ServerResponse, statusCode: number, jsonBody: unknown) => void;
|
|
9
|
-
export = sendJson;
|